LiVES  2.8.9
main.h
Go to the documentation of this file.
1 // main.h
2 // LiVES
3 // (c) G. Finch (salsaman@gmail.com) 2003 - 2018
4 // see file ../COPYING for full licensing details
5 
6 /* This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License version 3 or higher as
8  published by the Free Software Foundation.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 */
19 
20 // begin legal warning
21 /*
22  NO WARRANTY
23 
24  BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
25  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
26 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
27  PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
28  OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
29 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
30 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
31  PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
32 REPAIR OR CORRECTION.
33 
34  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
35  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
36  REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
37  INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
38  OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
39 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
40 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
41  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
42 POSSIBILITY OF SUCH DAMAGES.
43 */
44 // end legal warning
45 
46 // Have fun, and let's fight for Free Speech, Open Media and True Creativity !
47 // - Salsaman
48 
49 // note: preferred coding style is: astyle --style=java -H -Y -s2 -U -k3 -W3 -xC140 -xL -p
50 
51 #ifndef HAS_LIVES_MAIN_H
52 #define HAS_LIVES_MAIN_H
53 
54 #ifdef __cplusplus
55 #undef HAVE_UNICAP
56 #endif
57 
58 #ifndef GUI_QT
59 #define GUI_GTK
60 #define PAINTER_CAIRO
61 #else
62 #define PAINTER_QPAINTER
63 #define NO_PROG_LOAD
64 #undef ENABLE_GIW
65 #endif
66 
67 #ifdef GUI_GTK
68 
69 #define USE_GLIB
70 
71 #include <gtk/gtk.h>
72 #include <gdk/gdkkeysyms.h>
73 
74 #if GTK_CHECK_VERSION(3, 0, 0)
75 #ifdef ENABLE_GIW
76 #define ENABLE_GIW_3
77 #endif
78 #endif
79 
80 #endif
81 
82 #if !GTK_CHECK_VERSION(3, 0, 0)
83 // borked in < 3.0
84 #undef HAVE_WAYLAND
85 #endif
86 
87 #ifdef HAVE_WAYLAND
88 #include <gdk/gdkwayland.h>
89 #endif
90 
91 #ifdef GDK_WINDOWING_WAYLAND
92 #ifndef GDK_IS_WAYLAND_DISPLAY
93 #define GDK_IS_WAYLAND_DISPLAY(a) FALSE
94 #endif
95 #endif
96 
97 #ifdef IS_MINGW
98 
99 #ifndef WINVER
100 #define WINVER 0x0500
101 #endif
102 
103 #include <windows.h>
104 #include <winbase.h>
105 #include <tlhelp32.h>
106 #include <sddl.h>
107 
108 #define O_SYNC (FILE_FLAG_NO_BUFFERING|FILE_FLAG_WRITE_THROUGH)
109 
110 typedef PROCESS_INFORMATION *lives_pid_t;
111 typedef PROCESS_INFORMATION *lives_pgid_t;
112 
113 #ifdef GUI_GTK
114 #ifndef GDK_WINDOWING_WIN32
115 #define GDK_WINDOWING_WIN32
116 #endif
117 #endif
118 
119 #else // IS_MINGW
120 
121 #ifdef GUI_GTK
122 #ifndef GDK_WINDOWING_X11
123 #define GDK_WINDOWING_X11
124 #endif
125 #else
126 #include <sys/types.h>
127 #include <unistd.h>
128 
129 #endif // GUI_GTK
130 
131 typedef pid_t lives_pid_t;
132 typedef int lives_pgid_t;
133 
134 #endif // IS_MINGW
135 
136 #include <sys/stat.h>
137 #include <stdlib.h>
138 #include <stdio.h>
139 #include <unistd.h>
140 #include <string.h>
141 #include <signal.h>
142 #include <assert.h>
143 #include <errno.h>
144 
145 #ifdef __cplusplus
146 #define __STDC_CONSTANT_MACROS
147 #ifdef _STDINT_H
148 #undef _STDINT_H
149 #endif
150 #endif
151 
152 #include <stdint.h>
153 #include <stdarg.h>
154 
155 #ifndef ulong
156 #define ulong unsigned long
157 #endif
158 
159 #define QUOTEME(x) #x
160 
162 #define MAX_FILES 65535
163 
166 #ifndef PREFIX_DEFAULT
167 #ifndef IS_MINGW
168 #define PREFIX_DEFAULT "/usr"
169 #else
170 // TODO - get this from the installer
171 #define PREFIX_DEFAULT "C:\\Program Files\\LiVES"
172 #endif
173 #endif
174 
176 #ifndef PREFIX
177 #define PREFIX PREFIX_DEFAULT
178 #endif
179 
180 #ifndef IS_MINGW
181 #define LIVES_DIR_SEP "/"
182 #define LIVES_STATUS_FILE_NAME ".status"
183 #define LIVES_INFO_FILE_NAME ".info"
184 #define LIVES_BFILE_NAME ".smogrify"
185 #define LIVES_SMOGPLUGIN_FILE_NAME ".smogplugin"
186 #define LIVES_SMOGVAL_FILE_NAME ".smogval"
187 #define LIVES_ENC_DEBUG_FILE_NAME ".debug_out"
188 #define LIVES_DEVNULL "/dev/null"
189 
190 #define DLL_NAME "so"
191 
192 #define DOC_DIR "/share/doc/lives-"
193 
194 #define THEME_DIR "/share/lives/themes/"
195 #define PLUGIN_SCRIPTS_DIR "/share/lives/plugins/"
196 #define PLUGIN_COMPOUND_DIR "/share/lives/plugins/"
197 #define PLUGIN_EXEC_DIR "/lives/plugins/"
198 #define ICON_DIR "/share/lives/icons/"
199 #define DESKTOP_ICON_DIR "/share/icons/hicolor/48x48/apps"
200 #define DATA_DIR "/share/lives/"
201 #define LIVES_CONFIG_DIR ".lives-dir/"
202 #define LIVES_WORK_NAME "livesprojects"
203 
204 #else // IS_MINGW
205 #define LIVES_DIR_SEP "\\"
206 #define LIVES_STATUS_FILE_NAME "status"
207 #define LIVES_INFO_FILE_NAME "info"
208 #define LIVES_BFILE_NAME "smogrify"
209 #define LIVES_SMOGPLUGIN_FILE_NAME "smogplugin"
210 #define LIVES_SMOGVAL_FILE_NAME "smogval"
211 #define LIVES_ENC_DEBUG_FILE_NAME "debug_out"
212 #define LIVES_DEVNULL "NUL"
213 
214 #define DLL_NAME "dll"
215 
216 #define DOC_DIR "\\Documents/"
217 
218 #define THEME_DIR "\\Themes/"
219 #define PLUGIN_SCRIPTS_DIR "\\Plugins/"
220 #define PLUGIN_COMPOUND_DIR "\\Plugins/"
221 #define PLUGIN_EXEC_DIR "\\Plugins/"
222 #define ICON_DIR "\\Icons/"
223 #define DATA_DIR "\\Data/"
224 #define LIVES_CONFIG_DIR "\\Config/"
225 #define LIVES_WORK_NAME "livesprojects"
226 #endif
227 
228 #define LIVES_DEVICE_DIR "/dev/"
229 
230 #define LIVES_COPYRIGHT_YEARS "2002 - 2018"
231 
232 #define LIVES_WEBSITE PACKAGE_URL
233 #define LIVES_MANUAL_URL LIVES_WEBSITE "/manual/"
234 #define LIVES_MANUAL_FILENAME "LiVES_manual.html"
235 #define LIVES_AUTHOR_EMAIL "salsaman+lives@gmail.com"
236 #define LIVES_DONATE_URL "https://sourceforge.net/p/lives/donate/"
237 #define LIVES_BUG_URL PACKAGE_BUGREPORT
238 #define LIVES_FEATURE_URL "https://sourceforge.net/p/lives/feature-requests/"
239 #define LIVES_TRANSLATE_URL "https://translations.launchpad.net/lives/trunk"
240 
241 #if defined (IS_DARWIN) || defined (__FreeBSD__)
242 #ifndef off64_t
243 #define off64_t off_t
244 #endif
245 #ifndef lseek64
246 #define lseek64 lseek
247 #endif
248 #endif
249 
250 #define DEF_FILE_PERMS (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
251 
252 #define WARN_FILE_SIZE 500
255 
257 #define FPS_MAX 200.
258 
259 #define MAX_FRAME_WIDTH 100000.
260 #define MAX_FRAME_HEIGHT 100000.
261 
262 #define ENABLE_DVD_GRAB
263 
264 #ifdef HAVE_MJPEGTOOLS
265 #define HAVE_YUV4MPEG
266 #endif
267 
268 #ifdef ENABLE_ORC
269 #include <orc/orc.h>
270 #endif
271 
272 #ifdef ENABLE_OIL
273 #include <liboil/liboil.h>
274 #endif
275 
276 #ifndef IS_SOLARIS
277 #define LIVES_INLINE static inline
278 #define LIVES_GLOBAL_INLINE inline
279 #else
280 #define LIVES_INLINE static
281 #define LIVES_GLOBAL_INLINE
282 #define LIVES_LOCAL_INLINE
283 #endif
284 
285 #define LIVES_LOCAL_INLINE LIVES_INLINE
286 
287 #include <limits.h>
288 #include <float.h>
289 
290 #ifndef PATH_MAX
291 #ifdef MAX_PATH
292 #define PATH_MAX MAX_PATH
293 #else
294 #define PATH_MAX 4096
295 #endif
296 #endif
297 
298 #ifdef __GNUC__
299 # define WARN_UNUSED __attribute__((warn_unused_result))
300 # define GNU_PURE __attribute__((pure))
301 # define GNU_CONST __attribute__((const))
302 # define GNU_MALLOC __attribute__((malloc))
303 # define GNU_ALIGN(x) __attribute__((alloc_align(x)))
304 #else
305 # define WARN_UNUSED
306 # define GNU_PURE
307 # define GNU_CONST
308 # define GNU_MALLOC
309 # define GNU_ALIGN(x)
310 #endif
311 
312 #ifdef PRODUCE_LOG
313 // disabled by default
314 #define LIVES_LOG "lives.log"
315 #endif
316 
317 uint64_t lives_random(void);
318 
319 typedef struct {
320  uint16_t red;
321  uint16_t green;
322  uint16_t blue;
324 
325 typedef struct {
326  uint16_t red;
327  uint16_t green;
328  uint16_t blue;
329  uint16_t alpha;
331 
332 #include "widget-helper.h"
333 
334 typedef void *(*fn_ptr)(void *ptr);
335 
336 #define ALLOW_MPV
337 #define ALLOW_PNG24
338 
341 typedef struct {
342  int value;
343  int64_t reltime;
344 } event;
345 
346 typedef struct {
347  // processing / busy dialog
348  LiVESWidget *processing;
349  LiVESWidget *progressbar;
350  LiVESWidget *label;
351  LiVESWidget *label2;
352  LiVESWidget *label3;
353  LiVESWidget *stop_button;
354  LiVESWidget *pause_button;
355  LiVESWidget *preview_button;
356  LiVESWidget *cancel_button;
357  LiVESWidget *scrolledwindow;
358  uint32_t frames_done;
359  boolean is_ready;
360 } xprocess;
361 
362 typedef struct {
363  int afile;
364  double seek;
365  double vel;
367 
368 #if HAVE_SYSTEM_WEED
369 #include <weed/weed.h>
370 #include <weed/weed-events.h>
371 #else
372 #include "../libweed/weed.h"
373 #include "../libweed/weed-events.h"
374 #endif
375 
376 // see weed event spec. for more info
377 
379 #include "events.h"
380 
381 #ifdef IS_LIBLIVES
382 #include "liblives.hpp"
383 #include "lbindings.h"
384 #endif
385 
386 typedef enum {
402 
405 
408 
410 
413 
415 } lives_undo_t;
416 
418 typedef enum {
423 
425 typedef enum {
428 
431 
434 
437 
440 
443 
446 
449 
452 
455 
458 
461 
464 
467 
471 
472 typedef enum {
476 
477 typedef enum {
485 
486 typedef enum {
491 
492 #define IMG_TYPE_BEST IMG_TYPE_PNG
493 
494 #define AFORM_SIGNED 0
495 #define AFORM_LITTLE_ENDIAN 0
496 
497 #define AFORM_UNSIGNED 1
498 #define AFORM_BIG_ENDIAN (1<<1)
499 #define AFORM_UNKNOWN 65536
500 
501 typedef enum {
506 
507 #include "pangotext.h"
508 
509 #define WEED_LEAF_HOST_DEINTERLACE "host_deinterlace" // frame needs deinterlacing
510 #define WEED_LEAF_HOST_TC "host_tc" // timecode for deinterlace
511 #define WEED_LEAF_HOST_DECODER "host_decoder" // pointer to decoder for a layer
512 #define WEED_LEAF_HOST_PTHREAD "host_pthread" // thread for a layer
513 
514 #define CLIP_NAME_MAXLEN 256
515 
516 #define IS_VALID_CLIP(clip) (clip >= 0 && mainw->files[clip] != NULL)
517 #define CURRENT_CLIP_IS_VALID IS_VALID_CLIP(mainw->current_file)
518 
519 #define CLIP_HAS_VIDEO(clip) (IS_VALID_CLIP(clip) && mainw->files[clip]->frames > 0)
520 #define CURRENT_CLIP_HAS_VIDEO CLIP_HAS_VIDEO(mainw->current_file)
521 
522 #define CLIP_HAS_AUDIO(clip) (IS_VALID_CLIP(clip) && mainw->files[clip]->achans > 0 && mainw->files[clip]->asampsize > 0)
523 #define CURRENT_CLIP_HAS_AUDIO CLIP_HAS_AUDIO(mainw->current_file)
524 
525 #define CLIP_VIDEO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? mainw->files[clip]->video_time : 0.))
526 
527 #define CLIP_LEFT_AUDIO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? mainw->files[clip]->laudio_time : 0.))
528 
529 #define CLIP_RIGHT_AUDIO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? (mainw->files[clip]->achans > 1 ? mainw->files[clip]->raudio_time : 0.) : 0.))
530 
531 #define CLIP_AUDIO_TIME(clip) ((double)(CLIP_LEFT_AUDIO_TIME(clip) >= CLIP_RIGHT_AUDIO_TIME(clip) ? CLIP_LEFT_AUDIO_TIME(clip) : CLIP_RIGHT_AUDIO_TIME(clip)))
532 
533 #define CLIP_TOTAL_TIME(clip) ((double)(CLIP_VIDEO_TIME(clip) > CLIP_AUDIO_TIME(clip) ? CLIP_VIDEO_TIME(clip) : CLIP_AUDIO_TIME(clip)))
534 
535 #define CURRENT_CLIP_TOTAL_TIME CLIP_TOTAL_TIME(mainw->current_file)
536 
538 typedef struct {
539  // basic info (saved during backup)
540  int bpp;
541  double fps;
542  int hsize;
543  int vsize;
544  int arps;
545  uint32_t signed_endian;
546 
547  int arate;
548  uint64_t unique_id;
549  int achans;
551 
553  int frames;
554  char title[256];
555  char author[256];
556  char comment[256];
557  char keywords[256];
559 
561 
562  // extended info (not saved)
564 
565 #define LIVES_CLIP_HEADER_VERSION 100
566 
568 
571 
572  char handle[256];
573  int ohsize;
574  int ovsize;
575  int64_t f_size;
576  int64_t afilesize;
578  char file_name[PATH_MAX];
579  char info_file[PATH_MAX];
580  char name[CLIP_NAME_MAXLEN];
581  char save_file_name[PATH_MAX];
582  char type[64];
583  int start;
584  int end;
589  boolean changed;
590  LiVESWidget *menuentry;
592  boolean orig_file_name;
593  boolean was_renamed;
594  boolean is_untitled;
595  double pb_fps;
596  double freeze_fps;
597  boolean play_paused;
598 
599  //opening/restoring status
600  boolean opening;
601  boolean opening_audio;
603  boolean opening_loc;
604  boolean restoring;
605  boolean is_loaded;
606 
608  boolean nopreview;
609 
611  boolean nokeep;
612 
613  // various times; total time is calculated as the longest of video, laudio and raudio
614  double video_time; // TODO: deprecate, calculate CLIP_VIDEO_TIME from frames and fps
615  double laudio_time;
616  double raudio_time;
617  double pointer_time;
618 
619  // used only for insert_silence, holds pre-padding length for undo
622 
623  // current and last played index frames for internal player
624  int frameno;
626 
628  // see resample.c for new events system
629 
630  // events
631  event *events[1];
632 
633  weed_plant_t *event_list;
634  weed_plant_t *event_list_back;
635  weed_plant_t *next_event;
636 
637  LiVESList *layout_map;
639 
642 
644  int undo_end;
645  char undo_text[32];
646  char redo_text[32];
647  boolean undoable;
648  boolean redoable;
649 
650  // used for storing undo values
655  uint32_t undo1_uint;
656  double undo1_dbl;
657  double undo2_dbl;
658  boolean undo1_boolean;
659  boolean undo2_boolean;
660  boolean undo3_boolean;
661 
666  int undo_arps;
667 
669 
670  void *ext_src;
671 
677 
679 
681 
682 #define FX_FRAME_PUMP_VAL 200
683 
684 #define IMG_BUFF_SIZE 4096
685 
686  boolean ratio_fps;
687 
688  int64_t aseek_pos;
689 
690  // decoder data
691 
692  char mime_type[256];
693 
694  boolean deinterlace;
695 
697 
703 
705 
706  char *op_dir;
707  uint64_t op_ds_warn_level;
708 
712 
714 
715  lives_painter_surface_t *laudio_drawable;
716  lives_painter_surface_t *raudio_drawable;
717 
718  int cb_src;
719 
720  boolean needs_update;
721 
722  float **audio_waveform;
723 } lives_clip_t;
724 
725 typedef struct {
726  // the following can be assumed TRUE, they are checked on startup
727  boolean has_smogrify;
733 
734  // the following may need checking before use
735  boolean has_dvgrab;
736  boolean has_sox_play;
737  boolean has_sox_sox;
738  boolean has_autolives;
739  boolean has_mplayer;
740  boolean has_mplayer2;
741  boolean has_mpv;
742  boolean has_convert;
743  boolean has_composite;
744  boolean has_identify;
745  boolean has_cdda2wav;
746  boolean has_icedax;
748  boolean has_jackd;
750  boolean has_xwininfo;
751  boolean has_gdb;
754 
756  char home_dir[PATH_MAX];
757 
758  char touch_cmd[PATH_MAX];
759  char rm_cmd[PATH_MAX];
760  char mv_cmd[PATH_MAX];
761  char cp_cmd[PATH_MAX];
762  char ln_cmd[PATH_MAX];
763  char chmod_cmd[PATH_MAX];
764  char cat_cmd[PATH_MAX];
765  char echo_cmd[PATH_MAX];
766  char eject_cmd[PATH_MAX];
767  char rmdir_cmd[PATH_MAX];
768 
769  char *rcfile;
770 
772  char startup_msg[256];
773 
774  // plugins
776 
777  boolean has_python;
778  uint64_t python_version;
779 
780  short cpu_bits;
781 
782  char *myname_full;
783  char *myname;
784 
785  boolean has_stderr;
786 
788 
789  int ncpus;
790 
792 
793  pid_t mainpid;
794 
795  mode_t umask;
796 } capability;
797 
799 extern capability *capable;
800 
801 #ifdef HAVE_JACK_JACK_H
802 #include "jack.h"
803 #endif
804 
805 #define __STDC_FORMAT_MACROS
806 #include <inttypes.h>
807 
808 #ifndef PRId64
809 
810 #ifndef __WORDSIZE
811 #if defined __x86_64__
812 # define __WORDSIZE 64
813 #ifndef __WORDSIZE_COMPAT32
814 # define __WORDSIZE_COMPAT32 1
815 #endif
816 #else
817 # define __WORDSIZE 32
818 #endif
819 #endif // __WORDSIZE
820 
821 #ifndef __PRI64_PREFIX
822 # if __WORDSIZE == 64
823 # define __PRI64_PREFIX "l"
824 # else
825 # define __PRI64_PREFIX "ll"
826 # endif
827 #endif
828 
829 # define PRId64 __PRI64_PREFIX "d"
830 # define PRIu64 __PRI64_PREFIX "u"
831 #endif // ifndef PRI64d
832 
833 // common defs for mainwindow (retain this order)
834 #include "plugins.h"
835 #include "colourspace.h"
836 #include "paramspecial.h"
837 #include "multitrack.h"
838 #include "mainwindow.h"
839 #include "keyboard.h"
840 #include "preferences.h"
841 
842 extern mainwindow *mainw;
843 
844 // internal player clock
845 #include <sys/time.h>
846 struct timeval tv;
847 
849 extern ssize_t sizint, sizdbl, sizshrt;
850 
851 typedef enum {
876 
877 // some useful functions
878 
879 // dialogs.c
880 boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text);
881 boolean do_warning_dialog(const char *text);
882 boolean do_warning_dialog_with_check(const char *text, int warn_mask_number);
883 boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
884 boolean do_yesno_dialog(const char *text);
885 boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number);
886 boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
887 boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number);
888 boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
889 int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient) WARN_UNUSED;
890 int do_error_dialog(const char *text);
891 int do_info_dialog(const char *text);
892 int do_error_dialog_with_check(const char *text, int warn_mask_number);
893 int do_blocking_error_dialog(const char *text);
894 int do_blocking_info_dialog(const char *text);
895 int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number,
896  LiVESWindow *transient);
897 int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient);
898 LiVESWidget *create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient,
899  int warn_mask_number, boolean is_blocking);
900 LiVESWidget *create_question_dialog(const char *title, const char *text, LiVESWindow *parent);
901 LiVESWindow *get_transient_full();
902 void do_system_failed_error(const char *com, int retval, const char *addinfo);
903 int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED;
904 void do_write_failed_error_s(const char *filename, const char *addinfo);
905 int do_read_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED;
906 void do_read_failed_error_s(const char *filename, const char *addinfo);
907 boolean do_header_write_error(int clip);
910 void do_chdir_failed_error(const char *dir);
911 void handle_backend_errors(void);
912 boolean check_backend_return(lives_clip_t *sfile);
913 
915 char *ds_critical_msg(const char *dir, uint64_t dsval);
916 char *ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn);
917 boolean check_storage_space(lives_clip_t *sfile, boolean is_processing);
918 
919 char *get_upd_msg(int type);
920 char *get_new_install_msg(void);
921 
922 boolean ask_permission_dialog(int what);
923 boolean do_abort_check(void);
924 void add_warn_check(LiVESBox *box, int warn_mask_number);
925 void do_memory_error_dialog(void);
926 void too_many_files(void);
927 void workdir_warning(void);
928 void do_audio_import_error(void);
929 void do_mt_backup_space_error(lives_mt *, int memreq_mb);
930 
931 boolean do_clipboard_fps_warning(void);
932 void perf_mem_warning(void);
933 void do_dvgrab_error(void);
934 boolean do_comments_dialog(int fileno, char *filename);
935 boolean do_auto_dialog(const char *text, int type);
936 void do_encoder_acodec_error(void);
937 void do_encoder_sox_error(void);
938 boolean rdet_suggest_values(int width, int height, double fps, int fps_num, int fps_denom, int arate,
939  int asigned, boolean swap_endian, boolean anr, boolean ignore_fps);
940 boolean do_encoder_restrict_dialog(int width, int height, double fps, int fps_num, int fps_denom,
941  int arate, int asigned, boolean swap_endian, boolean anr, boolean save_all);
942 void do_messages_window(void);
943 void do_firstever_dialog(void);
944 void do_upgrade_error_dialog(void);
945 void do_no_mplayer_sox_error(void);
946 void do_need_mplayer_dialog(void);
947 void do_need_mplayer_mpv_dialog(void);
948 void do_aud_during_play_error(void);
949 void do_rendered_fx_dialog(void);
950 void do_layout_scrap_file_error(void);
951 void do_layout_ascrap_file_error(void);
952 void do_lb_composite_error(void);
953 void do_lb_convert_error(void);
954 void do_ra_convert_error(void);
955 void do_set_load_lmap_error(void);
956 boolean do_set_duplicate_warning(const char *new_set);
957 boolean do_set_rename_old_layouts_warning(const char *new_set);
958 boolean do_layout_alter_frames_warning(void);
959 boolean do_layout_alter_audio_warning(void);
960 boolean do_yuv4m_open_warning(void);
961 void do_mt_undo_mem_error(void);
962 void do_mt_undo_buf_error(void);
963 void do_mt_set_mem_error(boolean has_mt, boolean trans);
964 void do_mt_audchan_error(int warn_mask);
965 void do_mt_no_audchan_error(void);
966 void do_mt_no_jack_error(int warn_mask);
967 boolean do_mt_rect_prompt(void);
968 void do_audrate_error_dialog(void);
969 boolean do_event_list_warning(void);
970 void do_nojack_rec_error(void);
971 void do_vpp_palette_error(void);
972 void do_vpp_fps_error(void);
973 void do_decoder_palette_error(void);
974 void do_rmem_max_error(int size);
975 boolean do_original_lost_warning(const char *fname);
976 void do_no_decoder_error(const char *fname);
977 void do_jack_noopen_warn(void);
978 void do_jack_noopen_warn2(void);
979 void do_jack_noopen_warn3(void);
980 void do_jack_noopen_warn4(void);
981 void do_file_perm_error(const char *file_name);
982 void do_dir_perm_error(const char *dir_name);
983 void do_dir_perm_access_error(const char *dir_name);
985 void do_after_crash_warning(void);
986 void do_bad_layout_error(void);
987 void do_card_in_use_error(void);
988 void do_dev_busy_error(const char *devstr);
989 boolean do_existing_subs_warning(void);
990 void do_invalid_subs_error(void);
991 boolean do_erase_subs_warning(void);
992 boolean do_sub_type_warning(const char *ext, const char *type_ext);
993 boolean do_move_workdir_dialog(void);
994 void do_set_locked_warning(const char *setname);
995 void do_no_in_vdevs_error(void);
996 void do_locked_in_vdevs_error(void);
997 void do_do_not_close_d(void);
998 void do_set_noclips_error(const char *setname);
999 void do_no_autolives_error(void);
1001 void do_pulse_lost_conn_error(void);
1002 void do_jack_lost_conn_error(void);
1003 void do_cd_error_dialog(void);
1004 void do_bad_theme_error(const char *themefile);
1005 void do_bad_theme_import_error(const char *theme_file);
1006 boolean do_theme_exists_warn(const char *themename);
1007 
1008 boolean process_one(boolean visible);
1009 void do_threaded_dialog(char *translated_text, boolean has_cancel);
1010 void end_threaded_dialog(void);
1011 void threaded_dialog_spin(double fraction);
1012 void response_ok(LiVESButton *button, livespointer user_data);
1013 void pump_io_chan(LiVESIOChannel *iochan);
1014 
1015 void do_splash_progress(void);
1016 
1017 // d_print shortcuts
1018 void d_print_cancelled(void);
1019 void d_print_failed(void);
1020 void d_print_done(void);
1021 void d_print_file_error_failed(void);
1022 
1023 // general
1024 void do_text_window(const char *title, const char *text);
1025 
1026 // saveplay.c
1027 boolean read_file_details(const char *file_name, boolean only_check_for_audio);
1028 boolean add_file_info(const char *check_handle, boolean aud_only);
1029 boolean save_file_comments(int fileno);
1030 boolean reload_clip(int fileno, int maxframe);
1031 void wait_for_bg_audio_sync(int fileno);
1032 void reget_afilesize(int fileno);
1033 ulong deduce_file(const char *filename, double start_time, int end);
1034 ulong open_file(const char *filename);
1035 ulong open_file_sel(const char *file_name, double start_time, int frames);
1036 void open_fw_device(void);
1037 char *get_untitled_name(int number);
1038 boolean get_new_handle(int index, const char *name);
1039 boolean get_temp_handle(int index, boolean create);
1040 boolean get_handle_from_info_file(int index);
1041 void create_cfile(void);
1042 void save_file(int clip, int start, int end, const char *filename);
1043 void play_file(void);
1044 void save_frame(LiVESMenuItem *menuitem, livespointer user_data);
1045 boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc);
1046 void wait_for_stop(const char *stop_command);
1047 boolean save_clip_values(int which_file);
1048 void add_to_recovery_file(const char *handle);
1049 void rewrite_recovery_file(void);
1050 boolean check_for_recovery_files(boolean auto_recover);
1051 void recover_layout_map(int numclips);
1052 const char *get_deinterlace_string(void);
1053 
1054 // saveplay.c backup
1055 void backup_file(int clip, int start, int end, const char *filename);
1056 int save_event_frames(void);
1057 boolean write_headers(lives_clip_t *file);
1058 
1059 // saveplay.c restore
1060 ulong restore_file(const char *filename);
1061 boolean read_headers(const char *file_name);
1062 
1063 // saveplay.c sets
1064 void open_set_file(const char *set_name, int clipnum);
1065 
1066 // saveplay.c scrap file
1067 boolean open_scrap_file(void);
1068 boolean open_ascrap_file(void);
1069 int save_to_scrap_file(weed_plant_t *layer);
1070 boolean load_from_scrap_file(weed_plant_t *layer, int frame);
1071 void close_ascrap_file(void);
1072 void close_scrap_file(void);
1073 void add_to_ascrap_mb(uint64_t bytes);
1074 
1075 boolean check_for_disk_space(void);
1076 
1077 // main.c
1078 typedef void (*SignalHandlerPointer)(int);
1079 
1081 void catch_sigint(int signum);
1082 void defer_sigint(int signum);
1083 boolean startup_message_fatal(const char *msg);
1084 boolean startup_message_choice(const char *msg, int msgtype);
1085 boolean startup_message_nonfatal(const char *msg);
1086 boolean startup_message_info(const char *msg);
1087 boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask);
1089 void get_monitors(void);
1090 void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *);
1091 void load_start_image(int frame);
1092 void load_end_image(int frame);
1093 void load_preview_image(boolean update_always);
1094 
1095 boolean pull_frame(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc);
1096 void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc);
1097 void check_layer_ready(weed_plant_t *layer);
1098 boolean pull_frame_at_size(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc,
1099  int width, int height, int target_palette);
1100 LiVESPixbuf *pull_lives_pixbuf_at_size(int clip, int frame, const char *image_ext, weed_timecode_t tc,
1101  int width, int height, LiVESInterpType interp);
1102 LiVESPixbuf *pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc);
1103 
1104 LiVESError *lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_image_type_t imgtype,
1105  int quality, boolean do_chmod, LiVESError **gerrorptr);
1106 
1107 void init_track_decoders(void);
1108 void free_track_decoders(void);
1109 
1110 #ifdef USE_LIBPNG
1111 boolean layer_from_png(FILE *fp, weed_plant_t *layer, boolean prog);
1112 boolean save_to_png(FILE *fp, weed_plant_t *layer, int comp);
1113 #endif
1114 
1115 void load_frame_image(int frame);
1116 void sensitize(void);
1117 void desensitize(void);
1118 void procw_desensitize(void);
1119 void close_current_file(int file_to_switch_to);
1120 void get_next_free_file(void);
1121 void switch_to_file(int old_file, int new_file);
1122 void do_quick_switch(int new_file);
1123 void switch_audio_clip(int new_file, boolean activate);
1124 void resize(double scale);
1125 void do_start_messages(void);
1126 boolean set_palette_colours(boolean force_reload);
1127 void set_main_title(const char *filename, int or_untitled_number);
1128 void set_record(void);
1129 
1130 //gui.c
1131 void create_LiVES(void);
1132 void show_lives(void);
1133 void set_colours(LiVESWidgetColor *colf, LiVESWidgetColor *colb, LiVESWidgetColor *colf2,
1134  LiVESWidgetColor *colb2, LiVESWidgetColor *coli, LiVESWidgetColor *colt);
1135 void set_preview_box_colours(void);
1136 void load_theme_images(void);
1137 void set_interactive(boolean interactive);
1138 char *get_menu_name(lives_clip_t *sfile);
1139 void enable_record(void);
1140 void toggle_record(void);
1141 void disable_record(void);
1142 void make_custom_submenus(void);
1143 void fade_background(void);
1144 void unfade_background(void);
1145 void block_expose(void);
1146 void unblock_expose(void);
1147 void frame_size_update(void);
1148 void splash_init(void);
1149 void splash_end(void);
1150 void splash_msg(const char *msg, double pct);
1151 void add_message_scroller(LiVESWidget *conter);
1153 #if GTK_CHECK_VERSION(3, 0, 0)
1154 void calibrate_sepwin_size(void);
1155 boolean expose_pim(LiVESWidget *, lives_painter_t *, livespointer);
1156 boolean expose_sim(LiVESWidget *, lives_painter_t *, livespointer);
1157 boolean expose_eim(LiVESWidget *, lives_painter_t *, livespointer);
1158 #endif
1159 
1160 // system calls in utils.c
1161 int lives_system(const char *com, boolean allow_error);
1162 lives_pid_t lives_fork(const char *com);
1163 int lives_open3(const char *pathname, int flags, mode_t mode);
1164 int lives_open2(const char *pathname, int flags);
1165 int lives_open_buffered_rdonly(const char *pathname);
1166 int lives_creat_buffered(const char *pathname, int mode);
1167 int lives_close_buffered(int fd);
1168 void lives_close_all_file_buffers(void);
1169 off_t lives_lseek_buffered_rdonly(int fd, off_t offset);
1170 off_t lives_lseek_buffered_rdonly_absolute(int fd, off_t offset);
1171 ssize_t lives_write(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1172 ssize_t lives_write_buffered(int fd, const char *buf, size_t count, boolean allow_fail);
1173 ssize_t lives_write_le(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1174 ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1175 ssize_t file_buffer_flush(int fd);
1176 ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less);
1177 ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less);
1178 ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less);
1179 ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less);
1180 int lives_chdir(const char *path, boolean allow_fail);
1181 int lives_fputs(const char *s, FILE *stream);
1182 char *lives_fgets(char *s, int size, FILE *stream);
1183 pid_t lives_getpid(void);
1184 int lives_getgid(void);
1185 int lives_getuid(void);
1186 boolean lives_freep(void **ptr);
1187 void lives_kill_subprocesses(const char *dirname, boolean kill_parent);
1188 void lives_suspend_resume_process(const char *dirname, boolean suspend);
1189 #ifdef IS_MINGW
1190 boolean lives_win32_suspend_resume_process(DWORD pid, boolean suspend);
1191 boolean lives_win32_kill_subprocesses(DWORD pid, boolean kill_parent);
1192 int lives_win32_get_num_logical_cpus(void);
1193 #endif
1194 int lives_kill(lives_pid_t pid, int sig);
1195 int lives_killpg(lives_pgid_t pgrp, int sig);
1196 void lives_srandom(unsigned int seed);
1197 ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz);
1198 boolean lives_setenv(const char *name, const char *value);
1199 boolean lives_fsync(int fd);
1200 void lives_sync(void);
1201 int lives_rmdir(const char *dir, boolean force);
1202 int lives_rmdir_with_parents(const char *dir);
1203 int lives_rm(const char *file);
1204 int lives_rmglob(const char *files);
1205 int lives_cp(const char *from, const char *to);
1206 int lives_cp_keep_perms(const char *from, const char *to);
1207 int lives_mv(const char *from, const char *to);
1208 int lives_touch(const char *tfile);
1209 int lives_chmod(const char *target, const char *mode);
1210 int lives_cat(const char *from, const char *to, boolean append);
1211 int lives_echo(const char *text, const char *to, boolean append);
1212 int lives_ln(const char *from, const char *to);
1213 
1214 int lives_utf8_strcasecmp(const char *s1, const char *s2);
1215 
1216 char *filename_from_fd(char *val, int fd);
1217 
1218 float LEFloat_to_BEFloat(float f) GNU_CONST;
1219 uint64_t lives_10pow(int pow) GNU_CONST;
1220 double lives_fix(double val, int decimals) GNU_CONST;
1221 int get_approx_ln(uint32_t val) GNU_CONST;
1222 
1223 int64_t lives_get_current_ticks(int64_t delta_seconds, int64_t delta_usec);
1224 boolean lives_alarm_get(int alarm_handle);
1225 int lives_alarm_set(int64_t ticks);
1226 void lives_alarm_clear(int alarm_handle);
1227 lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval);
1228 char *lives_format_storage_space_string(uint64_t space);
1229 char *lives_datetime(struct timeval *tv);
1230 
1231 int myround(double n);
1232 void get_dirname(char *filename);
1233 char *get_dir(const char *filename);
1234 void get_basename(char *filename);
1235 void get_filename(char *filename, boolean strip_dir);
1236 char *get_extension(const char *filename);
1237 uint64_t get_version_hash(const char *exe, const char *sep, int piece);
1238 uint64_t make_version_hash(const char *ver);
1239 void d_print(const char *fmt, ...);
1240 void init_clipboard(void);
1241 boolean cache_file_contents(const char *filename);
1242 char *get_val_from_cached_list(const char *key, size_t maxlen);
1243 
1244 void get_location(const char *exe, char *val, int maxlen);
1245 
1246 char *make_image_file_name(lives_clip_t *clip, int frame, const char *img_ext);
1247 const char *get_image_ext_for_type(lives_image_type_t imgtype);
1248 lives_image_type_t lives_image_ext_to_type(const char *img_ext);
1249 lives_image_type_t lives_image_type_to_image_type(const char *lives_img_type);
1250 
1251 void set_menu_text(LiVESWidget *menu, const char *text, boolean use_mnemonic);
1252 void get_menu_text(LiVESWidget *menu, char *text);
1253 void get_menu_text_long(LiVESWidget *menuitem, char *text);
1254 void reset_clipmenu(void);
1255 
1256 double lives_ce_update_timeline(int frame, double x);
1257 void get_play_times(void);
1258 void update_play_times(void);
1259 void update_timer_bars(int posx, int posy, int width, int height, int which);
1260 void redraw_timer_bars(double oldx, double newx, int which);
1261 void get_total_time(lives_clip_t *file);
1262 
1263 uint32_t get_signed_endian(boolean is_signed, boolean little_endian);
1264 void fullscreen_internal(void);
1265 void switch_to_int_player(void);
1266 void switch_to_mplayer(void);
1267 void switch_aud_to_sox(boolean set_pref);
1268 boolean switch_aud_to_jack(void);
1269 boolean switch_aud_to_pulse(void);
1270 void switch_aud_to_mplayer(boolean set_pref);
1271 void switch_aud_to_mplayer2(boolean set_pref);
1272 boolean prepare_to_play_foreign(void);
1273 boolean after_foreign_play(void);
1274 boolean check_file(const char *file_name, boolean check_exists);
1275 boolean check_dir_access(const char *dir);
1276 uint64_t get_file_size(int fd);
1277 uint64_t sget_file_size(const char *name);
1278 uint64_t get_fs_free(const char *dir);
1279 boolean is_writeable_dir(const char *dir);
1280 boolean ensure_isdir(char *fname);
1281 char *ensure_extension(const char *fname, const char *ext) WARN_UNUSED;
1282 boolean check_dev_busy(char *devstr);
1283 void activate_url_inner(const char *link);
1284 void activate_url(LiVESAboutDialog *about, const char *link, livespointer data);
1285 void show_manual_section(const char *lang, const char *section);
1286 
1287 double calc_time_from_frame(int clip, int frame);
1288 int calc_frame_from_time(int filenum, double time);
1289 int calc_frame_from_time2(int filenum, double time);
1290 int calc_frame_from_time3(int filenum, double time);
1291 int calc_frame_from_time3(int filenum, double time);
1292 
1293 boolean check_for_ratio_fps(double fps);
1294 double get_ratio_fps(const char *string);
1295 void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight);
1296 
1297 char *remove_trailing_zeroes(double val);
1298 
1299 void remove_layout_files(LiVESList *lmap);
1300 boolean add_lmap_error(lives_lmap_error_t lerror, const char *name, livespointer user_data,
1301  int clipno, int frameno, double atime, boolean affects_current);
1302 void clear_lmap_errors(void);
1303 boolean prompt_remove_layout_files(void);
1304 boolean do_std_checks(const char *type_name, const char *type, size_t maxlen, const char *nreject);
1305 boolean is_legal_set_name(const char *set_name, boolean allow_dupes);
1306 char *repl_workdir(const char *entry, boolean fwd);
1307 char *clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp);
1308 boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen);
1309 void save_clip_value(int which, lives_clip_details_t, void *val);
1310 boolean check_frame_count(int idx);
1311 void count_opening_frames(void);
1312 void get_frame_count(int idx);
1313 void get_frames_sizes(int fileno, int frame_to_test);
1314 int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps);
1315 boolean int_array_contains_value(int *array, int num_elems, int value);
1316 boolean check_for_lock_file(const char *set_name, int type);
1317 void lives_list_free_strings(LiVESList *);
1318 void lives_list_free_all(LiVESList **);
1319 void lives_slist_free_all(LiVESSList **);
1320 
1321 boolean create_event_space(int length_in_eventsb);
1322 void add_to_recent(const char *filename, double start, int frames, const char *file_open_params);
1323 int verhash(char *version);
1324 void set_undoable(const char *what, boolean sensitive);
1325 void set_redoable(const char *what, boolean sensitive);
1326 void zero_spinbuttons(void);
1327 void draw_little_bars(double ptrtime, int which);
1328 void set_sel_label(LiVESWidget *label);
1329 void clear_mainw_msg(void);
1330 int get_token_count(const char *string, int delim);
1331 LiVESPixbuf *lives_pixbuf_new_blank(int width, int height, int palette);
1332 char *lives_strappend(char *string, int len, const char *newbit);
1333 LiVESList *lives_list_append_unique(LiVESList *xlist, const char *add);
1334 void find_when_to_stop(void);
1335 int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc);
1336 void calc_aframeno(int fileno);
1337 void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height);
1338 LiVESInterpType get_interp_value(short quality);
1339 
1340 LiVESList *lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED;
1341 LiVESList *lives_list_delete_string(LiVESList *, char *string) WARN_UNUSED;
1342 LiVESList *lives_list_copy_strings(LiVESList *list);
1343 boolean string_lists_differ(LiVESList *, LiVESList *);
1344 
1345 boolean is_realtime_aplayer(int ptype);
1346 
1347 LiVESList *get_set_list(const char *dir, boolean utf8);
1348 
1349 char *subst(const char *string, const char *from, const char *to);
1350 char *insert_newlines(const char *text, int maxwidth);
1351 
1352 int hextodec(char *string);
1353 int get_hex_digit(const char *c);
1354 
1355 uint32_t fastrand(void);
1356 void fastsrand(uint32_t seed);
1357 
1358 int lives_list_strcmp_index(LiVESList *list, livesconstpointer data);
1359 
1361 
1362 //callbacks.c
1363 
1364 // paramspecial.c
1365 LiVESPixbuf *mt_framedraw(lives_mt *, LiVESPixbuf *);
1366 
1367 // effects-weed.c
1368 livespointer _lives_malloc(size_t size) GNU_MALLOC;
1369 livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n);
1370 livespointer lives_memset(livespointer s, int c, size_t n);
1371 void _lives_free(livespointer ptr);
1372 livespointer lives_calloc(size_t n_blocks, size_t n_block_bytes);
1373 livespointer _lives_realloc(livespointer ptr, size_t new_size);
1374 
1375 // pangotext.c
1376 boolean subtitles_init(lives_clip_t *sfile, char *fname, lives_subtitle_type_t);
1377 void subtitles_free(lives_clip_t *sfile);
1378 boolean get_srt_text(lives_clip_t *sfile, double xtime);
1379 boolean get_sub_text(lives_clip_t *sfile, double xtime);
1380 boolean save_sub_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename);
1381 boolean save_srt_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename);
1382 
1383 #include "osc_notify.h"
1384 
1385 // inlines
1386 #define cfile mainw->files[mainw->current_file]
1387 #define clipboard mainw->files[0]
1388 
1389 #define PREFS_TIMEOUT 10000000
1390 
1391 #define LIVES_TV_CHANNEL1 "http://www.serverwillprovide.com/sorteal/livestvclips/livestv.ogm"
1392 
1393 // round (double) a up to next (integer) multiple of (double) b
1394 #define CEIL(a, b) ((int)(((double)a + (double)b - .000000001) / ((double)b)) * b)
1395 
1396 #ifdef NEED_ENDIAN_TEST
1397 #undef NEED_ENDIAN_TEST
1398 static int32_t testint = 0x12345678;
1399 #define IS_BIG_ENDIAN (((char *)&testint)[0] == 0x12)
1400 #endif
1401 
1403 
1404 void break_me(void);
1405 
1406 #define LIVES_NO_DEBUG
1407 #ifndef LIVES_DEBUG
1408 #ifndef LIVES_NO_DEBUG
1409 #define LIVES_DEBUG(x) fprintf(stderr, "LiVES debug: %s\n", x)
1410 #else // LIVES_NO_DEBUG
1411 #define LIVES_DEBUG(x) dummychar = x
1412 #endif // LIVES_NO_DEBUG
1413 #endif // LIVES_DEBUG
1414 
1415 #ifndef LIVES_INFO
1416 #ifndef LIVES_NO_INFO
1417 #define LIVES_INFO(x) fprintf(stderr, "LiVES info: %s\n", x)
1418 #else // LIVES_NO_INFO
1419 #define LIVES_INFO(x) dummychar = x
1420 #endif // LIVES_NO_INFO
1421 #endif // LIVES_INFO
1422 
1423 #ifndef LIVES_WARN
1424 #ifndef LIVES_NO_WARN
1425 #define LIVES_WARN(x) fprintf(stderr, "LiVES warning: %s\n", x)
1426 #else // LIVES_NO_WARN
1427 #define LIVES_WARN(x) dummychar = x
1428 #endif // LIVES_NO_WARN
1429 #endif // LIVES_WARN
1430 
1431 #ifndef LIVES_ERROR
1432 #ifndef LIVES_NO_ERROR
1433 #define LIVES_ERROR(x) {fprintf(stderr, "LiVES error: %s\n", x); break_me();}
1434 #else // LIVES_NO_ERROR
1435 #define LIVES_ERROR(x) dummychar = x
1436 #endif // LIVES_NO_ERROR
1437 #endif // LIVES_ERROR
1438 
1439 #ifndef LIVES_FATAL
1440 #ifndef LIVES_NO_FATAL
1441 #define LIVES_FATAL(x) {fprintf(stderr, "LiVES fatal: %s\n", x); raise (LIVES_SIGSEGV);}
1442 #else // LIVES_NO_FATAL
1443 #define LIVES_FATAL(x) dummychar = x
1444 #endif // LIVES_NO_FATAL
1445 #endif // LIVES_FATAL
1446 
1447 #endif // #ifndef HAS_LIVES_MAIN_H
1448 
void do_messages_window(void)
Definition: dialogs.c:2412
void do_ra_convert_error(void)
Definition: dialogs.c:2631
int lives_touch(const char *tfile)
Definition: utils.c:4314
int undo_arate
audio playback rate
Definition: main.h:662
boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:391
void load_theme_images(void)
Definition: gui.c:56
void do_encoder_sox_error(void)
Definition: dialogs.c:2117
void handle_backend_errors(void)
Definition: dialogs.c:631
void update_play_times(void)
like get_play_times, but will force redraw audio waveforms
Definition: utils.c:3342
int frames
Definition: main.h:553
LiVESPixbuf * pull_lives_pixbuf_at_size(int clip, int frame, const char *image_ext, weed_timecode_t tc, int width, int height, LiVESInterpType interp)
Definition: main.c:5207
off_t lives_lseek_buffered_rdonly_absolute(int fd, off_t offset)
Definition: utils.c:715
double undo2_dbl
Definition: main.h:657
int afile
Definition: main.h:363
void reget_afilesize(int fileno)
Definition: utils.c:4570
char * ensure_extension(const char *fname, const char *ext) WARN_UNUSED
Definition: utils.c:2516
boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:382
boolean has_stderr
Definition: main.h:785
LiVESWidget * stop_button
Definition: main.h:353
int undo1_int
Definition: main.h:651
boolean no_proc_sys_errors
skip system error dialogs in processing
Definition: main.h:709
int value
Definition: main.h:342
uint64_t python_version
Definition: main.h:778
int get_hex_digit(const char *c)
Definition: utils.c:5555
Definition: main.h:866
boolean deinterlace
auto deinterlace
Definition: main.h:694
boolean opening_audio
Definition: main.h:601
int lives_open_buffered_rdonly(const char *pathname)
Definition: utils.c:593
ulong open_file_sel(const char *file_name, double start_time, int frames)
Definition: saveplay.c:265
int undo2_int
Definition: main.h:652
Definition: main.h:391
Definition: main.h:864
double old_raudio_time
Definition: main.h:621
int verhash(char *version)
Definition: utils.c:4734
void do_mt_audchan_error(int warn_mask)
Definition: dialogs.c:2592
boolean startup_message_fatal(const char *msg)
Definition: main.c:3421
boolean pull_frame_at_size(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc, int width, int height, int target_palette)
Definition: main.c:4870
void perf_mem_warning(void)
Definition: dialogs.c:2329
boolean restoring
Definition: main.h:604
void do_read_failed_error_s(const char *filename, const char *addinfo)
Definition: dialogs.c:3015
int * frame_index_back
for undo
Definition: main.h:678
int lives_system(const char *com, boolean allow_error)
Definition: utils.c:295
void do_dir_perm_error(const char *dir_name)
Definition: dialogs.c:3202
char * get_untitled_name(int number)
Definition: saveplay.c:3306
boolean has_pulse_audio
Definition: main.h:749
boolean get_handle_from_info_file(int index)
Definition: saveplay.c:1039
int hextodec(char *string)
Definition: utils.c:5539
Definition: main.h:861
LiVESWidget * create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient, int warn_mask_number, boolean is_blocking)
Definition: dialogs.c:157
double seek
Definition: main.h:364
uint32_t undo1_uint
Definition: main.h:655
ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:510
boolean has_mpv
Definition: main.h:741
Definition: events.h:162
boolean do_move_workdir_dialog(void)
Definition: dialogs.c:3293
void _lives_free(livespointer ptr)
Definition: effects-weed.c:107
LiVESError * lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_image_type_t imgtype, int quality, boolean do_chmod, LiVESError **gerrorptr)
Definition: main.c:6635
boolean do_event_list_warning(void)
Definition: dialogs.c:2641
int start
Definition: main.h:583
int do_header_missing_detail_error(int clip, lives_clip_details_t detail) WARN_UNUSED
Definition: dialogs.c:3153
int do_error_dialog(const char *text)
Definition: dialogs.c:505
#define PATH_MAX
Definition: main.h:294
void set_main_title(const char *filename, int or_untitled_number)
Definition: main.c:3469
boolean nokeep
don&#39;t show the &#39;keep&#39; button - e.g. for operations which resize frames
Definition: main.h:611
boolean nopreview
don&#39;t show preview/pause buttons on processing
Definition: main.h:608
lives_pid_t lives_fork(const char *com)
Definition: utils.c:339
uint64_t get_fs_free(const char *dir)
Definition: utils.c:5617
pid_t lives_pid_t
Definition: main.h:131
boolean load_from_scrap_file(weed_plant_t *layer, int frame)
Definition: saveplay.c:4679
lives_dialog_t
Definition: mainwindow.h:182
void get_play_times(void)
recalculate video / audio lengths and draw the timer bars
Definition: utils.c:3337
just cancel in GUI (for keep, etc)
Definition: main.h:474
void save_frame(LiVESMenuItem *menuitem, livespointer user_data)
Definition: saveplay.c:1096
int lives_utf8_strcasecmp(const char *s1, const char *s2)
Definition: utils.c:5420
void splash_end(void)
Definition: gui.c:4439
lives_image_type_t lives_image_ext_to_type(const char *img_ext)
Definition: utils.c:2323
void find_when_to_stop(void)
Definition: utils.c:3574
void save_clip_value(int which, lives_clip_details_t, void *val)
Definition: utils.c:5149
void clear_lmap_errors(void)
Definition: utils.c:2138
void set_pref(const char *key, const char *value)
Definition: preferences.c:299
void activate_url(LiVESAboutDialog *about, const char *link, livespointer data)
Definition: utils.c:4511
void do_file_perm_error(const char *file_name)
Definition: dialogs.c:3194
void update_timer_bars(int posx, int posy, int width, int height, int which)
draw the timer bars
Definition: utils.c:2824
int lives_rm(const char *file)
Definition: utils.c:4260
boolean is_legal_set_name(const char *set_name, boolean allow_dupes)
Definition: utils.c:2271
void do_set_load_lmap_error(void)
uint64_t lives_random(void)
Definition: utils.c:101
boolean has_mplayer
Definition: main.h:739
LiVESWidget * scrolledwindow
Definition: main.h:357
livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n)
Definition: effects-weed.c:74
boolean do_existing_subs_warning(void)
Definition: dialogs.c:3247
video playback completed
Definition: main.h:460
int lives_pgid_t
Definition: main.h:132
boolean create_event_space(int length_in_eventsb)
Definition: utils.c:4610
void do_bad_theme_import_error(const char *theme_file)
Definition: dialogs.c:3388
void close_current_file(int file_to_switch_to)
close current file, and try to switch to file_to_switch_to
Definition: main.c:6669
void recover_layout_map(int numclips)
Definition: saveplay.c:5045
int lives_echo(const char *text, const char *to, boolean append)
Definition: utils.c:4363
Definition: main.h:394
int ohsize
Definition: main.h:573
boolean was_renamed
Definition: main.h:593
lives_painter_surface_t * raudio_drawable
Definition: main.h:716
void open_fw_device(void)
boolean reload_clip(int fileno, int maxframe)
Definition: saveplay.c:5123
char * remove_trailing_zeroes(double val)
Definition: utils.c:5372
void do_autolives_needs_clips_error(void)
Definition: dialogs.c:3368
void defer_sigint(int signum)
Definition: main.c:177
void check_layer_ready(weed_plant_t *layer)
Definition: main.c:5123
Definition: main.h:862
void workdir_warning(void)
Definition: dialogs.c:2078
Definition: main.h:865
boolean switch_aud_to_pulse(void)
Definition: utils.c:3727
boolean opening
Definition: main.h:600
int last_frameno
Definition: main.h:625
void get_basename(char *filename)
Definition: utils.c:2481
void clear_mainw_msg(void)
Definition: utils.c:1302
boolean read_headers(const char *file_name)
Definition: saveplay.c:3913
void unblock_expose(void)
Definition: gui.c:3400
boolean has_cdda2wav
Definition: main.h:745
void fastsrand(uint32_t seed)
Definition: utils.c:5576
void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc)
Definition: main.c:5180
int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:540
void d_print(const char *fmt,...)
Definition: utils.c:1901
boolean can_write_to_config
Definition: main.h:730
imported video, broken into frames
Definition: main.h:478
int progress_start
Definition: main.h:587
void frame_size_update(void)
Definition: gui.c:4244
void d_print_file_error_failed(void)
Definition: dialogs.c:2908
ssize_t sizdbl
Definition: main.c:85
lives_image_type_t
Definition: main.h:486
boolean redoable
Definition: main.h:648
LiVESList * lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED
Definition: utils.c:5665
void do_text_window(const char *title, const char *text)
lives_clip_type_t clip_type
Definition: main.h:668
void do_splash_progress(void)
lives_undo_t undo_action
undo
Definition: main.h:641
Definition: main.h:487
char * get_val_from_cached_list(const char *key, size_t maxlen)
Definition: utils.c:4900
lives_subtitles_t * subt
Definition: main.h:704
livespointer _lives_malloc(size_t size) GNU_MALLOC
Definition: effects-weed.c:80
void(* SignalHandlerPointer)(int)
Definition: main.h:1078
int get_token_count(const char *string, int delim)
Definition: utils.c:5407
Definition: main.h:387
void do_jack_lost_conn_error(void)
Definition: dialogs.c:3373
uint64_t sget_file_size(const char *name)
Definition: utils.c:4538
boolean has_dvgrab
Definition: main.h:735
boolean do_auto_dialog(const char *text, int type)
Definition: dialogs.c:1959
void reset_clipmenu(void)
Definition: utils.c:4161
void enable_record(void)
Definition: gui.c:3662
void do_threaded_dialog(char *translated_text, boolean has_cancel)
Definition: dialogs.c:2829
char * op_dir
Definition: main.h:706
void count_opening_frames(void)
Definition: utils.c:2376
uint16_t red
Definition: main.h:326
Definition: main.h:341
ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:728
boolean do_layout_alter_frames_warning(void)
Definition: dialogs.c:2485
ulong restore_file(const char *filename)
Definition: saveplay.c:4356
lives_whentostop_t
which stream end should cause playback to finish ?
Definition: main.h:418
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:2139
void d_print_failed(void)
Definition: dialogs.c:2900
void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height)
Definition: utils.c:3599
boolean undo1_boolean
Definition: main.h:658
void add_message_scroller(LiVESWidget *conter)
Definition: gui.c:114
boolean do_clipboard_fps_warning(void)
Definition: dialogs.c:2335
void set_sel_label(LiVESWidget *label)
Definition: utils.c:4828
char * lives_fgets(char *s, int size, FILE *stream)
Definition: utils.c:432
ssize_t lives_write_le(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
ssize_t sizint
type sizes
Definition: main.c:85
boolean lives_setenv(const char *name, const char *value)
Definition: utils.c:273
boolean check_storage_space(lives_clip_t *sfile, boolean is_processing)
Definition: dialogs.c:775
Definition: main.h:325
mode_t umask
Definition: main.h:795
int ovsize
Definition: main.h:574
#define GNU_MALLOC
Definition: main.h:308
void do_vpp_fps_error(void)
Definition: dialogs.c:2667
boolean startup_message_nonfatal(const char *msg)
Definition: main.c:3430
void pump_io_chan(LiVESIOChannel *iochan)
Definition: dialogs.c:710
void do_mt_undo_buf_error(void)
Definition: dialogs.c:2572
no cancel
Definition: main.h:427
LiVESWindow * get_transient_full()
Definition: dialogs.c:442
int do_read_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:3091
int asampsize
Definition: main.h:550
ssize_t lives_write_buffered(int fd, const char *buf, size_t count, boolean allow_fail)
Definition: utils.c:800
LiVESList * get_set_list(const char *dir, boolean utf8)
Definition: utils.c:5279
void close_scrap_file(void)
Definition: saveplay.c:5006
boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:417
uint32_t undo_signed_endian
Definition: main.h:663
boolean lives_freep(void **ptr)
Definition: utils.c:920
void set_undoable(const char *what, boolean sensitive)
Definition: utils.c:4774
boolean get_temp_handle(int index, boolean create)
Definition: saveplay.c:3151
boolean get_sub_text(lives_clip_t *sfile, double xtime)
Definition: pangotext.c:554
boolean is_untitled
Definition: main.h:594
void get_next_free_file(void)
Definition: utils.c:2444
void do_firstever_dialog(void)
unimported video, not or partially broken in frames
Definition: main.h:481
int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps)
Definition: resample.c:59
int lives_ln(const char *from, const char *to)
Definition: utils.c:4322
int lives_mv(const char *from, const char *to)
Definition: utils.c:4306
void end_threaded_dialog(void)
Definition: dialogs.c:2857
Definition: main.h:856
int lives_cat(const char *from, const char *to, boolean append)
Definition: utils.c:4347
int stored_layout_idx
Definition: main.h:700
void do_write_failed_error_s(const char *filename, const char *addinfo)
Definition: dialogs.c:2969
boolean is_realtime_aplayer(int ptype)
Definition: utils.c:1532
boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc)
Definition: saveplay.c:3614
uint32_t signed_endian
bitfield
Definition: main.h:545
LiVESWidget * menuentry
Definition: main.h:590
boolean check_file(const char *file_name, boolean check_exists)
check if file exists
Definition: utils.c:4182
boolean has_xwininfo
Definition: main.h:750
Definition: main.h:874
frames from video device
Definition: main.h:483
LiVESPixbuf * pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc)
Definition: main.c:5245
boolean ask_permission_dialog(int what)
Definition: dialogs.c:3404
int nmonitors
Definition: main.h:787
lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval)
Definition: utils.c:890
int arate
audio playback rate
Definition: main.h:547
int lives_kill(lives_pid_t pid, int sig)
Definition: utils.c:1269
Definition: main.h:398
boolean no_proc_write_errors
skip write error dialogs in processing
Definition: main.h:711
int64_t aseek_pos
audio seek posn. (bytes) for when we switch clips
Definition: main.h:688
livespointer lives_memset(livespointer s, int c, size_t n)
Definition: effects-weed.c:131
void do_jack_noopen_warn3(void)
Definition: dialogs.c:2528
void lives_alarm_clear(int alarm_handle)
Definition: utils.c:1428
Definition: main.h:503
LiVESWidget * cancel_button
Definition: main.h:356
int lives_rmdir_with_parents(const char *dir)
Definition: utils.c:4252
void do_mt_set_mem_error(boolean has_mt, boolean trans)
Definition: dialogs.c:2576
const char * get_deinterlace_string(void)
Definition: saveplay.c:200
void set_redoable(const char *what, boolean sensitive)
Definition: utils.c:4803
boolean set_palette_colours(boolean force_reload)
Definition: main.c:1931
capability * get_capabilities(void)
Definition: main.c:2185
boolean can_read_from_config
Definition: main.h:729
Definition: main.h:504
uint16_t alpha
Definition: main.h:329
int insert_start
Definition: main.h:585
boolean keep_without_preview
allow keep, even when nopreview is set - TODO use only nopreview and nokeep
Definition: main.h:713
void switch_to_file(int old_file, int new_file)
Definition: main.c:6988
int undo_achans
Definition: main.h:664
ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
LiVESList * layout_map
Definition: main.h:637
void wait_for_stop(const char *stop_command)
Definition: saveplay.c:3581
double lives_ce_update_timeline(int frame, double x)
pointer position in timeline
Definition: utils.c:2756
boolean undo3_boolean
Definition: main.h:660
int lives_fputs(const char *s, FILE *stream)
Definition: utils.c:419
int lives_getuid(void)
Definition: utils.c:159
int undo_arps
audio sample rate
Definition: main.h:666
void do_encoder_img_ftm_error(render_details *rdet)
Definition: dialogs.c:3222
LiVESInterpType get_interp_value(short quality)
Definition: utils.c:5658
lives_clip_details_t
Definition: main.h:851
void do_bad_theme_error(const char *themefile)
Definition: dialogs.c:3324
const char * version(void)
int rowstride
Definition: main.h:567
int64_t afilesize
Definition: main.h:576
Definition: main.h:870
void desensitize(void)
Definition: main.c:3696
void add_to_recovery_file(const char *handle)
Definition: saveplay.c:5631
void do_set_locked_warning(const char *setname)
Definition: dialogs.c:3298
_palette * palette
Definition: main.c:84
frames from generator plugin
Definition: main.h:480
int save_event_frames(void)
Definition: saveplay.c:4500
int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:3037
char * lives_strappend(char *string, int len, const char *newbit)
Definition: utils.c:1458
Definition: main.h:867
int lives_killpg(lives_pgid_t pgrp, int sig)
Definition: utils.c:1285
lives_interlace_t interlace
interlace type (if known - none, topfirst, bottomfirst or : see plugins.h)
Definition: main.h:560
void load_preview_image(boolean update_always)
Definition: main.c:4273
LiVESWidget * label3
Definition: main.h:352
void set_record(void)
int bpp
Definition: main.h:540
pid_t mainpid
Definition: main.h:793
void do_dir_perm_access_error(const char *dir_name)
Definition: dialogs.c:3210
uint64_t get_file_size(int fd)
Definition: utils.c:4530
double stored_layout_audio
Definition: main.h:701
uint32_t frames_done
Definition: main.h:358
void init_clipboard(void)
Definition: utils.c:1854
void show_manual_section(const char *lang, const char *section)
Definition: utils.c:4516
void switch_aud_to_sox(boolean set_pref)
Definition: utils.c:3780
void do_mt_backup_space_error(lives_mt *, int memreq_mb)
Definition: dialogs.c:2549
void do_no_decoder_error(const char *fname)
Definition: dialogs.c:2506
char * filename_from_fd(char *val, int fd)
Definition: utils.c:42
void switch_to_int_player(void)
Definition: main.h:393
uint32_t fastrand(void)
Definition: utils.c:5568
image could not be captured
Definition: main.h:445
void resize(double scale)
Definition: main.c:7540
void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *)
Definition: main.c:3893
boolean do_abort_check(void)
Definition: dialogs.c:3217
boolean opening_only_audio
Definition: main.h:602
char * subst(const char *string, const char *from, const char *to)
Definition: utils.c:5430
yuv4mpeg stream
Definition: main.h:479
Definition: main.h:855
int64_t lives_get_current_ticks(int64_t delta_seconds, int64_t delta_usec)
Definition: utils.c:1335
int lives_rmdir(const char *dir, boolean force)
Definition: utils.c:4227
render_details * rdet
Definition: events.h:196
void lives_list_free_strings(LiVESList *)
Definition: utils.c:4854
void switch_aud_to_mplayer2(boolean set_pref)
Definition: utils.c:3858
boolean check_for_disk_space(void)
Definition: saveplay.c:4818
mainwindow * mainw
Definition: main.c:86
record audio to selection
Definition: main.h:412
void load_frame_image(int frame)
Definition: main.c:5439
type for LiVES to LiVES streaming
Definition: main.h:482
int progress_end
Definition: main.h:588
ulong menuentry_func
Definition: main.h:591
boolean get_srt_text(lives_clip_t *sfile, double xtime)
Definition: pangotext.c:412
int * frame_index
Definition: main.h:676
void do_audrate_error_dialog(void)
Definition: dialogs.c:2637
char * rcfile
Definition: main.h:769
int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:470
double stored_layout_fps
Definition: main.h:702
int64_t reltime
Definition: main.h:343
boolean save_sub_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename)
Definition: pangotext.c:835
void lives_list_free_all(LiVESList **)
Definition: utils.c:4876
LiVESPixbuf * mt_framedraw(lives_mt *, LiVESPixbuf *)
Definition: paramspecial.c:489
Definition: main.h:420
void subtitles_free(lives_clip_t *sfile)
Definition: pangotext.c:697
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:1957
void do_layout_ascrap_file_error(void)
Definition: dialogs.c:2134
boolean can_write_to_workdir
Definition: main.h:732
lives_lmap_error_t
Definition: multitrack.h:950
boolean has_smogrify
Definition: main.h:727
void do_dev_busy_error(const char *devstr)
Definition: dialogs.c:3237
LiVESWidget * processing
Definition: main.h:348
normal - kill background processes working on current clip
Definition: main.h:473
char * get_extension(const char *filename)
Definition: utils.c:2504
void set_menu_text(LiVESWidget *menu, const char *text, boolean use_mnemonic)
Definition: utils.c:4131
int lives_open3(const char *pathname, int flags, mode_t mode)
Definition: utils.c:141
int lives_creat_buffered(const char *pathname, int mode)
Definition: utils.c:602
boolean needs_update
loaded values were incorrect, update header
Definition: main.h:720
void set_preview_box_colours(void)
Definition: gui.c:3412
char * repl_workdir(const char *entry, boolean fwd)
Definition: utils.c:2611
void do_no_autolives_error(void)
Definition: dialogs.c:3363
boolean play_paused
Definition: main.h:597
void set_colours(LiVESWidgetColor *colf, LiVESWidgetColor *colb, LiVESWidgetColor *colf2, LiVESWidgetColor *colb2, LiVESWidgetColor *coli, LiVESWidgetColor *colt)
Definition: gui.c:186
boolean has_midistartstop
Definition: main.h:747
int fx_frame_pump
rfx frame pump for virtual clips (CLIP_TYPE_FILE)
Definition: main.h:680
double get_ratio_fps(const char *string)
Definition: utils.c:5356
Definition: main.h:873
Definition: main.h:863
void toggle_record(void)
Definition: gui.c:3668
void get_monitors(void)
Definition: main.c:229
boolean do_warning_dialog(const char *text)
Definition: dialogs.c:368
boolean after_foreign_play(void)
Definition: utils.c:4028
Definition: main.h:725
boolean startup_message_info(const char *msg)
Definition: main.c:3453
mainw->
Definition: mainwindow.h:424
uint16_t green
Definition: main.h:321
int frameno
Definition: main.h:624
double undo1_dbl
Definition: main.h:656
boolean do_yuv4m_open_warning(void)
Definition: dialogs.c:2347
void * ext_src
points to opaque source for non-disk types
Definition: main.h:670
boolean process_one(boolean visible)
Definition: dialogs.c:994
uint16_t green
Definition: main.h:327
void do_jack_noopen_warn(void)
Definition: dialogs.c:2520
boolean prompt_remove_layout_files(void)
Definition: dialogs.c:2469
xprocess * proc_ptr
the processing window
Definition: main.h:570
void free_track_decoders(void)
Definition: main.c:5405
LiVESWidget * label2
Definition: main.h:351
boolean check_frame_count(int idx)
Definition: utils.c:2342
boolean undo2_boolean
Definition: main.h:659
boolean write_headers(lives_clip_t *file)
Definition: saveplay.c:3842
void do_rendered_fx_dialog(void)
Definition: dialogs.c:2431
void do_audio_import_error(void)
Definition: dialogs.c:2442
void do_cd_error_dialog(void)
Definition: dialogs.c:3383
user pressed &#39;Keep&#39;
Definition: main.h:457
double calc_time_from_frame(int clip, int frame)
Definition: utils.c:1489
ssize_t sizshrt
Definition: main.c:85
void get_menu_text_long(LiVESWidget *menuitem, char *text)
Definition: utils.c:4148
event_list completed
Definition: main.h:448
void do_jack_noopen_warn4(void)
Definition: dialogs.c:2532
uint64_t make_version_hash(const char *ver)
Definition: utils.c:2583
void get_dirname(char *filename)
Definition: utils.c:2454
Definition: main.h:392
void lives_close_all_file_buffers(void)
Definition: utils.c:459
int vsize
Definition: main.h:543
void splash_init(void)
Definition: gui.c:4348
char * get_new_install_msg(void)
Definition: dialogs.c:3355
void do_invalid_subs_error(void)
Definition: dialogs.c:3251
boolean has_composite
Definition: main.h:743
ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:486
double freeze_fps
Definition: main.h:596
void do_need_mplayer_dialog(void)
Definition: dialogs.c:2097
boolean do_layout_alter_audio_warning(void)
Definition: dialogs.c:2490
livespointer lives_calloc(size_t n_blocks, size_t n_block_bytes)
Definition: effects-weed.c:137
char * get_dir(const char *filename)
Definition: utils.c:2472
int header_version
Definition: main.h:563
struct timeval tv
Definition: main.h:846
off_t lives_lseek_buffered_rdonly(int fd, off_t offset)
Definition: utils.c:702
int calc_frame_from_time3(int filenum, double time)
nearest frame mid
Definition: utils.c:1513
double raudio_time
Definition: main.h:616
resample/reorder/resize/apply effects
Definition: main.h:407
void close_ascrap_file(void)
Definition: saveplay.c:5027
void do_no_mplayer_sox_error(void)
Definition: dialogs.c:2091
void do_bad_layout_error(void)
Definition: dialogs.c:2614
Definition: main.h:869
LiVESWidget * create_question_dialog(const char *title, const char *text, LiVESWindow *parent)
Definition: dialogs.c:361
lives_interlace_t
Definition: main.h:501
weed_plant_t * event_list_back
Definition: main.h:634
void set_signal_handlers(SignalHandlerPointer sigfunc)
Definition: main.c:2947
Definition: main.h:388
char * insert_newlines(const char *text, int maxwidth)
Definition: utils.c:5449
void do_card_in_use_error(void)
Definition: dialogs.c:3232
boolean has_icedax
Definition: main.h:746
void splash_msg(const char *msg, double pct)
Definition: gui.c:4426
boolean do_erase_subs_warning(void)
Definition: dialogs.c:3277
void do_mt_undo_mem_error(void)
Definition: dialogs.c:2566
lives_undo_t
need this for event_list_t *
Definition: main.h:386
lives_painter_surface_t * laudio_drawable
Definition: main.h:715
corresponds to one clip in the GUI
Definition: main.h:538
weed_plant_t * event_list
Definition: main.h:633
boolean has_encoder_plugins
Definition: main.h:775
Definition: main.h:396
void do_lb_composite_error(void)
Definition: dialogs.c:2619
int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc)
Definition: utils.c:1602
int lives_cp_keep_perms(const char *from, const char *to)
Definition: utils.c:4298
boolean check_backend_return(lives_clip_t *sfile)
Definition: dialogs.c:693
#define GNU_CONST
Definition: main.h:307
char * clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp)
Definition: utils.c:4937
int stored_layout_frame
layout map for the current layout
Definition: main.h:699
boolean check_dev_busy(char *devstr)
Definition: utils.c:4473
void open_set_file(const char *set_name, int clipnum)
Definition: saveplay.c:4281
int save_to_scrap_file(weed_plant_t *layer)
Definition: saveplay.c:4843
boolean startup_message_choice(const char *msg, int msgtype)
Definition: main.c:3438
boolean do_theme_exists_warn(const char *themename)
Definition: dialogs.c:3395
void lives_slist_free_all(LiVESSList **)
Definition: utils.c:4868
cancel but keep opening
Definition: main.h:433
char * ds_critical_msg(const char *dir, uint64_t dsval)
Definition: dialogs.c:582
LiVESPixbuf * lives_pixbuf_new_blank(int width, int height, int palette)
Definition: colourspace.c:9803
void add_to_recent(const char *filename, double start, int frames, const char *file_open_params)
Definition: utils.c:4645
ran out of preview frames
Definition: main.h:442
void lives_kill_subprocesses(const char *dirname, boolean kill_parent)
Definition: utils.c:4379
uint16_t blue
Definition: main.h:328
void unfade_background(void)
Definition: gui.c:3202
int do_blocking_info_dialog(const char *text)
Definition: dialogs.c:533
lives_cancel_t check_for_bad_ffmpeg(void)
Definition: utils.c:5734
boolean has_xdg_screensaver
Definition: main.h:753
boolean check_dir_access(const char *dir)
Definition: utils.c:4439
int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient)
Definition: dialogs.c:562
void do_rmem_max_error(int size)
Definition: dialogs.c:2685
int old_frames
for deordering, etc.
Definition: main.h:577
#define ulong
Definition: main.h:156
Definition: main.h:421
boolean do_std_checks(const char *type_name, const char *type, size_t maxlen, const char *nreject)
Definition: utils.c:2223
Definition: main.h:868
ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz)
Definition: utils.c:240
void disable_record(void)
Definition: gui.c:3673
Definition: main.h:853
cancelled because of error
Definition: main.h:463
double video_time
Definition: main.h:614
Definition: main.h:346
pid_t lives_getpid(void)
Definition: utils.c:110
int lives_chdir(const char *path, boolean allow_fail)
Definition: utils.c:902
boolean no_proc_read_errors
skip read error dialogs in processing
Definition: main.h:710
Definition: main.h:362
void get_menu_text(LiVESWidget *menu, char *text)
Definition: utils.c:4143
Definition: pangotext.h:39
void add_warn_check(LiVESBox *box, int warn_mask_number)
Definition: dialogs.c:112
int hsize
in pixels (NOT macropixels !)
Definition: main.h:542
Definition: main.h:414
boolean has_gdb
Definition: main.h:751
void get_location(const char *exe, char *val, int maxlen)
Definition: utils.c:2550
void switch_to_mplayer(void)
void get_frame_count(int idx)
Definition: utils.c:2384
effect processing finished during preview
Definition: main.h:436
void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight)
Definition: utils.c:1815
lives_image_type_t img_type
Definition: main.h:696
lives_cancel_type_t
Definition: main.h:472
void make_custom_submenus(void)
Definition: gui.c:144
void do_need_mplayer_mpv_dialog(void)
Definition: dialogs.c:2103
boolean int_array_contains_value(int *array, int num_elems, int value)
Definition: utils.c:4153
boolean ensure_isdir(char *fname)
Definition: utils.c:2530
int do_header_read_error_with_retry(int clip) WARN_UNUSED
Definition: dialogs.c:3122
uint32_t get_signed_endian(boolean is_signed, boolean little_endian)
Definition: utils.c:5385
int myround(double n)
Definition: utils.c:1297
boolean lives_alarm_get(int alarm_handle)
Definition: utils.c:1390
boolean smog_version_correct
Definition: main.h:728
Definition: main.h:854
void resize_widgets_for_monitor(boolean get_play_times)
Definition: gui.c:3708
LiVESList * lives_list_delete_string(LiVESList *, char *string) WARN_UNUSED
Definition: utils.c:5672
boolean has_mplayer2
Definition: main.h:740
void do_pulse_lost_conn_error(void)
Definition: dialogs.c:3378
void switch_audio_clip(int new_file, boolean activate)
Definition: main.c:7211
capability * capable
some shared structures
Definition: main.c:83
LiVESWidget * progressbar
Definition: main.h:349
boolean cache_file_contents(const char *filename)
Definition: utils.c:4884
boolean read_file_details(const char *file_name, boolean only_check_for_audio)
Definition: saveplay.c:140
int end
Definition: main.h:584
int lives_getgid(void)
Definition: utils.c:230
uint64_t unique_id
this and the handle can be used to uniquely id a file
Definition: main.h:548
video playback completed
Definition: main.h:451
void do_upgrade_error_dialog(void)
Definition: dialogs.c:2421
boolean do_yesno_dialog(const char *text)
Definition: dialogs.c:455
void activate_url_inner(const char *link)
Definition: utils.c:4498
void d_print_done(void)
Definition: dialogs.c:2904
void load_start_image(int frame)
Definition: main.c:3934
void do_mt_no_jack_error(int warn_mask)
Definition: dialogs.c:2602
boolean pull_frame(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc)
Definition: main.c:5113
void too_many_files(void)
Definition: dialogs.c:2072
boolean do_header_write_error(int clip)
Definition: dialogs.c:3136
void save_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:1155
void do_do_not_close_d(void)
Definition: dialogs.c:3317
void do_chdir_failed_error(const char *dir)
Definition: dialogs.c:3180
void do_layout_scrap_file_error(void)
Definition: dialogs.c:2129
void add_to_ascrap_mb(uint64_t bytes)
Definition: saveplay.c:4591
int lives_cp(const char *from, const char *to)
Definition: utils.c:4290
boolean do_set_rename_old_layouts_warning(const char *new_set)
Definition: dialogs.c:2558
lives_clip_type_t
Definition: main.h:477
void fade_background(void)
Definition: gui.c:3082
void play_file(void)
Definition: saveplay.c:1994
void do_after_crash_warning(void)
Definition: dialogs.c:2673
void show_lives(void)
Definition: gui.c:2897
int lives_rmglob(const char *files)
Definition: utils.c:4275
uint16_t red
Definition: main.h:320
boolean do_sub_type_warning(const char *ext, const char *type_ext)
Definition: dialogs.c:3282
void rewrite_recovery_file(void)
Definition: saveplay.c:5645
void do_encoder_acodec_error(void)
Definition: dialogs.c:2123
boolean is_writeable_dir(const char *dir)
Definition: utils.c:5581
void do_vpp_palette_error(void)
Definition: dialogs.c:2657
void backup_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:3700
boolean has_gconftool_2
Definition: main.h:752
boolean prepare_to_play_foreign(void)
Definition: utils.c:3889
char * get_menu_name(lives_clip_t *sfile)
Definition: gui.c:4250
boolean do_set_duplicate_warning(const char *new_set)
Definition: dialogs.c:2475
double vel
Definition: main.h:365
boolean is_loaded
should we continue loading if we come back to this clip
Definition: main.h:605
LiVESList * lives_list_append_unique(LiVESList *xlist, const char *add)
Definition: utils.c:1466
boolean save_clip_values(int which_file)
Definition: saveplay.c:37
int64_t f_size
Definition: main.h:575
int undo_asampsize
Definition: main.h:665
int lives_chmod(const char *target, const char *mode)
Definition: utils.c:4338
void break_me(void)
Definition: main.c:132
boolean lives_fsync(int fd)
Definition: utils.c:252
void do_quick_switch(int new_file)
Definition: main.c:7404
void get_frames_sizes(int fileno, int frame_to_test)
Definition: utils.c:2432
void do_set_noclips_error(const char *setname)
Definition: dialogs.c:3331
Definition: main.h:397
ulong deduce_file(const char *filename, double start_time, int end)
Definition: saveplay.c:206
Definition: main.h:319
int ncpus
Definition: main.h:789
void response_ok(LiVESButton *button, livespointer user_data)
Definition: dialogs.c:2879
uint64_t op_ds_warn_level
current disk space warning level for any output directory
Definition: main.h:707
void do_memory_error_dialog(void)
Definition: dialogs.c:625
special cancel for TV toy
Definition: main.h:469
void procw_desensitize(void)
Definition: main.c:3820
void do_system_failed_error(const char *com, int retval, const char *addinfo)
Definition: dialogs.c:2913
uint64_t lives_10pow(int pow) GNU_CONST
Definition: utils.c:1307
boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask)
Definition: main.c:3461
void remove_layout_files(LiVESList *lmap)
Definition: utils.c:2636
int lives_close_buffered(int fd)
Definition: utils.c:607
int lives_open2(const char *pathname, int flags)
Definition: utils.c:150
void set_interactive(boolean interactive)
Definition: gui.c:2961
Definition: main.h:400
boolean changed
Definition: main.h:589
uint16_t blue
Definition: main.h:322
int insert_end
Definition: main.h:586
boolean has_sox_sox
Definition: main.h:737
int lives_alarm_set(int64_t ticks)
Definition: utils.c:1351
int get_approx_ln(uint32_t val) GNU_CONST
Definition: utils.c:1321
boolean can_write_to_home
Definition: main.h:731
lives_cancel_t
cancel reason
Definition: main.h:425
boolean do_mt_rect_prompt(void)
Definition: dialogs.c:2608
boolean open_ascrap_file(void)
Definition: saveplay.c:4637
int achans
Definition: main.h:549
Definition: main.h:419
weed_plant_t * next_event
Definition: main.h:635
boolean is_ready
Definition: main.h:359
float LEFloat_to_BEFloat(float f) GNU_CONST
Definition: utils.c:1473
Definition: main.h:395
char * lives_datetime(struct timeval *tv)
Definition: utils.c:1442
boolean check_for_ratio_fps(double fps)
Definition: utils.c:5338
void do_dvgrab_error(void)
Definition: dialogs.c:2646
boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text)
Definition: dialogs.c:1408
void block_expose(void)
Definition: gui.c:3384
boolean get_new_handle(int index, const char *name)
Definition: saveplay.c:3312
LiVESWidget * preview_button
Definition: main.h:355
boolean has_sox_play
Definition: main.h:736
void get_filename(char *filename, boolean strip_dir)
Definition: utils.c:2492
Definition: main.h:858
Definition: main.h:401
LiVESWidget * pause_button
Definition: main.h:354
void redraw_timer_bars(double oldx, double newx, int which)
paint a damage region
Definition: utils.c:3354
char * make_image_file_name(lives_clip_t *clip, int frame, const char *img_ext)
Definition: utils.c:2337
cancelled and paused
Definition: main.h:466
void do_jack_noopen_warn2(void)
Definition: dialogs.c:2544
boolean orig_file_name
Definition: main.h:592
boolean save_srt_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename)
Definition: pangotext.c:768
void calc_aframeno(int fileno)
Definition: utils.c:1581
lives_storage_status_t
disk/storage status values
Definition: mainwindow.h:208
void do_start_messages(void)
Definition: main.c:1820
boolean has_identify
Definition: main.h:744
Definition: main.h:488
void do_locked_in_vdevs_error(void)
Definition: dialogs.c:3312
Definition: main.h:489
void sensitize(void)
Definition: main.c:3505
LiVESWidget * label
Definition: main.h:350
boolean has_autolives
Definition: main.h:738
void catch_sigint(int signum)
Definition: main.c:183
Definition: main.h:399
Definition: main.h:871
lives_image_type_t lives_image_type_to_image_type(const char *lives_img_type)
Definition: utils.c:2330
float ** audio_waveform
values for drawing the audio wave
Definition: main.h:722
void do_aud_during_play_error(void)
Definition: dialogs.c:620
boolean check_for_recovery_files(boolean auto_recover)
Definition: saveplay.c:5698
boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen)
Definition: utils.c:5032
int calc_frame_from_time(int filenum, double time)
nearest frame start
Definition: utils.c:1494
void do_no_in_vdevs_error(void)
Definition: dialogs.c:3307
char * get_upd_msg(int type)
Definition: dialogs.c:3339
int undo_end
Definition: main.h:644
void draw_little_bars(double ptrtime, int which)
Definition: utils.c:3384
void lives_srandom(unsigned int seed)
Definition: utils.c:92
void create_cfile(void)
Definition: saveplay.c:3207
int byte_order
Definition: main.h:791
void init_track_decoders(void)
Definition: main.c:5394
int undo4_int
Definition: main.h:654
double pointer_time
Definition: main.h:617
void do_mt_no_audchan_error(void)
Definition: dialogs.c:2598
const char * get_image_ext_for_type(lives_image_type_t imgtype)
Definition: utils.c:2311
double fps
Definition: main.h:541
char * lives_format_storage_space_string(uint64_t space)
Definition: utils.c:861
int cb_src
source clip for clipboard
Definition: main.h:718
void do_nojack_rec_error(void)
Definition: dialogs.c:2651
void get_total_time(lives_clip_t *file)
calculate laudio, raudio and video time (may be deprecated and replaced with macros) ...
Definition: utils.c:3545
ulong open_file(const char *filename)
Definition: saveplay.c:229
void lives_suspend_resume_process(const char *dirname, boolean suspend)
Definition: utils.c:4408
char * myname_full
Definition: main.h:782
boolean ratio_fps
if the fps was set by a ratio
Definition: main.h:686
application quit
Definition: main.h:439
boolean has_convert
Definition: main.h:742
generator was stopped
Definition: main.h:454
double lives_fix(double val, int decimals) GNU_CONST
Definition: utils.c:1315
void create_LiVES(void)
Definition: gui.c:349
resample/resize and resample audio for encoding
Definition: main.h:404
int undo_start
Definition: main.h:643
int do_info_dialog(const char *text)
Definition: dialogs.c:512
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:2232
Definition: main.h:409
boolean open_scrap_file(void)
Definition: saveplay.c:4596
Definition: main.h:860
boolean check_for_lock_file(const char *set_name, int type)
Definition: utils.c:2164
Definition: main.h:389
int undo3_int
Definition: main.h:653
boolean subtitles_init(lives_clip_t *sfile, char *fname, lives_subtitle_type_t)
Definition: pangotext.c:718
void switch_aud_to_mplayer(boolean set_pref)
Definition: utils.c:3827
short cpu_bits
Definition: main.h:780
uint64_t get_version_hash(const char *exe, const char *sep, int piece)
Definition: utils.c:2564
char * ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn)
Definition: dialogs.c:600
void do_decoder_palette_error(void)
Definition: dialogs.c:2662
void threaded_dialog_spin(double fraction)
Definition: dialogs.c:2786
int calc_frame_from_time2(int filenum, double time)
nearest frame end
Definition: utils.c:1503
livespointer _lives_realloc(livespointer ptr, size_t new_size)
Definition: effects-weed.c:90
boolean save_file_comments(int fileno)
Definition: saveplay.c:3542
double pb_fps
Definition: main.h:595
ssize_t lives_write(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
#define WARN_UNUSED
Definition: main.h:305
Definition: main.h:859
boolean do_comments_dialog(int fileno, char *filename)
Definition: dialogs.c:2364
char * dummychar
Definition: main.h:1402
void fullscreen_internal(void)
Definition: gui.c:3335
#define CLIP_NAME_MAXLEN
Definition: main.h:514
char * myname
Definition: main.h:783
boolean has_python
Definition: main.h:777
Definition: main.h:852
Definition: main.h:872
void wait_for_bg_audio_sync(int fileno)
Definition: utils.c:4555
lives_subtitle_type_t
Definition: pangotext.h:13
LiVESList * lives_list_copy_strings(LiVESList *list)
Definition: utils.c:5688
#define FALSE
Definition: videoplugin.h:56
boolean do_warning_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:373
void load_end_image(int frame)
Definition: main.c:4104
Definition: main.h:390
void lives_sync(void)
Definition: utils.c:262
ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:787
boolean do_original_lost_warning(const char *fname)
Definition: dialogs.c:2495
int do_blocking_error_dialog(const char *text)
Definition: dialogs.c:526
int lives_list_strcmp_index(LiVESList *list, livesconstpointer data)
Definition: utils.c:4629
ssize_t file_buffer_flush(int fd)
Definition: utils.c:552
boolean has_jackd
Definition: main.h:748
boolean add_file_info(const char *check_handle, boolean aud_only)
Definition: saveplay.c:3343
double laudio_time
Definition: main.h:615
boolean string_lists_differ(LiVESList *, LiVESList *)
Definition: utils.c:5702
boolean undoable
Definition: main.h:647
Definition: main.h:502
void do_lb_convert_error(void)
Definition: dialogs.c:2625
double old_laudio_time
Definition: main.h:620
Definition: main.h:857
int do_error_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:519
void d_print_cancelled(void)
Definition: dialogs.c:2895
void zero_spinbuttons(void)
Definition: utils.c:3655
user pressed stop
Definition: main.h:430
int arps
audio sample rate
Definition: main.h:544
boolean opening_loc
Definition: main.h:603
boolean switch_aud_to_jack(void)
Definition: utils.c:3667