25static LiVESWidget *saved_closebutton;
26static LiVESWidget *saved_applybutton;
27static LiVESWidget *saved_revertbutton;
28static boolean mt_needs_idlefunc;
32static uint32_t prefs_current_page;
34static void select_pref_list_row(uint32_t selected_idx,
_prefsw *
prefsw);
36#define ACTIVE(widget, signal) lives_signal_sync_connect(LIVES_GUI_OBJECT(prefsw->widget), LIVES_WIDGET_ ##signal## \
37 _SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL)
47 if (LIVES_IS_TOGGLE_BUTTON(widget))
50 else if (LIVES_IS_CHECK_MENU_ITEM(widget))
57static void on_osc_enable_toggled(LiVESToggleButton *t1, livespointer t2) {
65static LiVESResponseType get_pref_inner(
const char *filename,
const char *key,
char *val,
int maxlen,
68 memset(val, 0, maxlen);
73 lives_snprintf(val, maxlen,
"%s", prefval);
75 return LIVES_RESPONSE_YES;
77 return LIVES_RESPONSE_NO;
88 return LIVES_RESPONSE_NONE;
101 if (ret == LIVES_RESPONSE_NO) lives_snprintf(val, maxlen,
"%s", def);
108 return get_pref_inner(filename, key, val, maxlen,
mainw->
gen_cache);
116 tmp = lives_filename_to_utf8(val, -1, NULL, NULL, NULL);
117 lives_snprintf(val, maxlen,
"%s", tmp);
129 LiVESList *retlist = NULL;
131 if (
get_string_pref(key, buf, 65535) == LIVES_RESPONSE_NO)
return NULL;
132 if (!(*buf))
return NULL;
135 array = lives_strsplit(buf,
"\n", nvals);
136 for (i = 0; i < nvals; i++) {
137 retlist = lives_list_append(retlist, lives_strdup(array[i]));
140 lives_strfreev(array);
149 if (!strcmp(buffer,
"true"))
return TRUE;
157 if (!(*buffer))
return defval;
158 if (!strcmp(buffer,
"true"))
return TRUE;
166 if (!(*buffer))
return 0;
174 if (!(*buffer))
return defval;
182 if (!(*buffer))
return defval;
190 if (!(*buffer))
return 0.;
191 return strtod(buffer, NULL);
198 if (!(*buffer))
return defval;
199 return strtod(buffer, NULL);
206 if (!(*buffer))
return FALSE;
219 if (!(*buffer))
return FALSE;
222 array = lives_strsplit(buffer,
" ", 4);
223 lcol->
red = atoi(array[0]);
224 lcol->
green = atoi(array[1]);
225 lcol->
blue = atoi(array[2]);
226 if (ntoks == 4) lcol->
alpha = atoi(array[3]);
227 else lcol->
alpha = 65535;
228 lives_strfreev(array);
241 if (!tmp)
return FALSE;
247 array = lives_strsplit(tmp,
" ", 4);
248 lcol->
red = atoi(array[0]);
249 lcol->
green = atoi(array[1]);
250 lcol->
blue = atoi(array[2]);
251 if (ntoks == 4) lcol->
alpha = atoi(array[3]);
252 else lcol->
alpha = 65535;
253 lives_strfreev(array);
259static int run_prefs_command(
const char *com) {
269 }
else if (ret == 3) {
272 }
else if (ret != 0) {
277 }
while (ret == LIVES_RESPONSE_RETRY);
284 int ret = run_prefs_command(com);
292 int ret = run_prefs_command(com);
300 int ret = run_prefs_command(com);
308 char *tmp = U82F(value);
310 int ret = run_prefs_command(com);
324 }
while (ret == LIVES_RESPONSE_RETRY);
331 int ret = run_prefs_command(com);
340 int ret = run_prefs_command(com);
348 int ret = run_prefs_command(com);
362 ret = run_prefs_command(com);
370 LiVESList *xlist = values;
371 char *
string = NULL, *tmp;
375 if (
string == NULL)
string = lives_strdup((
char *)xlist->data);
384 if (
string == NULL)
string = lives_strdup(
"");
405 int ret = run_prefs_command(com);
494 do_error_dialog(
_(
"\n\nVideo playback plugins are only activated in\nfull screen, separate window (fs) mode\n"));
532static void set_workdir_label_text(LiVESLabel *label,
const char *dir) {
537 tmp = (
_(
"(Free space = UNKNOWN)"));
545 "and sets are stored.\n"
546 "It should be in a partition with plenty of free disk space.\n\n%s"),
558 const char *audio_player = newval;
584 do_error_dialogf(
_(
"\nUnable to switch audio players to %s\n%s must be installed first.\nSee %s\n"),
622#ifdef HAVE_PULSE_AUDIO
627 do_error_dialogf(
_(
"\nUnable to switch audio players to %s\n%s must be installed first.\nSee %s\n"),
660#ifdef HAVE_PULSE_AUDIO
690 if (strlen(newval) > 2) {
886 boolean success =
FALSE;
887 boolean rec_ext_audio = newval;
904 if (
prefsw && permanent) {
936#ifdef HAVE_PULSE_AUDIO
1034 LiVESWidgetColor col;
1059 if (newval <= 0 && prefs->mt_auto_back > 0) {
1079 if (newval < mainw->n_messages && newval >= 0) {
1205 }
else permanent =
FALSE;
1271 if (newval) js_open();
1278 prefs->use_alsa_midi = !newval;
1280 prefs->alsa_midi_dummy = newval;
1337#ifdef HAVE_LIBVISUAL
1348 const char *audio_codec = NULL;
1351 LiVESWidgetColor colf, colb, colf2, colb2, coli, colt, coltcfg, coltcbg;
1357 boolean needs_restart =
FALSE;
1401 boolean warn_after_dvgrab =
1409 boolean warn_yuv4m_open =
1420 boolean warn_mt_backup_space
1499#ifdef ENABLE_JACK_TRANSPORT
1508 boolean jack_tstart =
FALSE;
1509 boolean jack_master =
FALSE;
1510 boolean jack_client =
FALSE;
1511 boolean jack_tb_start =
FALSE, jack_mtb_start =
FALSE;
1512 boolean jack_tb_client =
FALSE;
1568 char audio_player[256];
1575 unsigned char *new_undo_buf;
1579 boolean set_omc_dev_opts =
FALSE;
1581 boolean needs_midi_restart =
FALSE;
1587 -1, NULL, NULL, NULL);
1669 lives_snprintf(workdir,
PATH_MAX,
"%s",
1671 -1, NULL, NULL, NULL)));
1720 if (msgs_unlimited) {
1780#ifdef HAVE_PULSE_AUDIO
1792#if GTK_CHECK_VERSION(2, 12, 0)
1827#ifdef HAVE_LIBVISUAL
1885 needs_restart =
TRUE;
1889 if (!fx_threads) nfx_threads = 1;
2092 lives_snprintf(
prefs->
theme, 64,
"%s", theme);
2215 set_omc_dev_opts =
TRUE;
2227 set_omc_dev_opts =
TRUE;
2231 set_omc_dev_opts =
TRUE;
2234 if (!needs_midi_restart) {
2240 set_omc_dev_opts =
TRUE;
2241 if (!needs_midi_restart) {
2247 if (needs_midi_restart) {
2290 if (!mt_enable_audio) mt_def_achans = 0;
2309 if ((new_undo_buf = (
unsigned char *)
lives_malloc(mt_undo_buf * 1024 * 1024)) == NULL) {
2314 if (mt_undo_buf < prefs->mt_undo_buf) {
2315 ssize_t space_needed =
mainw->
multitrack->undo_buffer_used - (size_t)(mt_undo_buf * 1024 * 1024);
2321 ulist->data = new_undo_buf + ((
unsigned char *)ulist->data -
mainw->
multitrack->undo_mem);
2322 ulist = ulist->next;
2342 if (mt_autoback_always) mt_autoback_time = 0;
2343 else if (mt_autoback_never) mt_autoback_time = -1;
2368 char *xworkdir = lives_strdup(workdir);
2373 lives_snprintf(workdir,
PATH_MAX,
"%s", xworkdir);
2381 needs_restart =
TRUE;
2390 return needs_restart;
2423 for (idx = 0; idx < listlen && strcmp((
char *)lives_list_nth_data(
prefs->
acodec_list, idx), audio_codec); idx++);
2442 boolean is_allowed =
FALSE;
2463 for (idx = 0; strlen(
anames[idx]); idx++) {
2466 (
_(
"PCM (highest quality; largest files)")));
2528static void on_forcesmon_toggled(LiVESToggleButton *tbutton, livespointer user_data) {
2534 play_monitor != gui_monitor &&
2539static void pmoni_gmoni_changed(LiVESWidget *sbut, livespointer user_data) {
2549static void on_mtbackevery_toggled(LiVESToggleButton *tbutton, livespointer user_data) {
2552 if (user_data) xprefsw = (
_prefsw *)user_data;
2560#ifdef ENABLE_JACK_TRANSPORT
2561static void after_jack_client_toggled(LiVESToggleButton *tbutton, livespointer user_data) {
2573static void after_jack_tb_start_toggled(LiVESToggleButton *tbutton, livespointer user_data) {
2586static void after_jack_master_toggled(LiVESToggleButton *tbutton, livespointer user_data) {
2602static void on_alsa_midi_toggled(LiVESToggleButton *tbutton, livespointer user_data) {
2605 if (user_data) xprefsw = (
_prefsw *)user_data;
2619static void on_audp_entry_changed(LiVESWidget *audp_combo, livespointer ptr) {
2662#ifdef HAVE_PULSE_AUDIO
2682static void stream_audio_toggled(LiVESToggleButton *togglebutton, livespointer user_data) {
2756static void pref_init_list(LiVESWidget * list) {
2757 LiVESCellRenderer *renderer, *pixbufRenderer;
2758 LiVESTreeViewColumn *column1, *column2;
2759 LiVESListStore *store;
2781static void prefs_add_to_list(LiVESWidget * list, LiVESPixbuf * pix,
const char *str, uint32_t idx) {
2782 LiVESListStore *store;
2800 LiVESTreeModel *model;
2803 for (
int i = 0; i < 2; i++) {
2812 switch (prefs_current_page) {
2888#if !LIVES_HAS_GRID_WIDGET
2920static void spinbutton_ds_value_changed(LiVESSpinButton * warn_ds, livespointer is_critp) {
2921 boolean is_crit = LIVES_POINTER_TO_INT(is_critp);
2922 char *tmp = NULL, *tmp2;
2924 uint64_t umyval = (uint64_t)myval *
MILLIONS(1);
2941static void theme_widgets_set_sensitive(LiVESCombo * combo, livespointer xprefsw) {
2944 boolean theme_set =
TRUE;
2976static boolean check_txtsize(LiVESWidget * combo) {
2983 show_warn_image(combo,
_(
"Text size may be too large for the screen size"));
2995 LiVESWidget *dialog_vbox_main;
2996 LiVESWidget *dialog_table;
2997 LiVESWidget *list_scroll;
2999 LiVESPixbuf *pixbuf_multitrack;
3000 LiVESPixbuf *pixbuf_gui;
3001 LiVESPixbuf *pixbuf_decoding;
3002 LiVESPixbuf *pixbuf_playback;
3003 LiVESPixbuf *pixbuf_recording;
3004 LiVESPixbuf *pixbuf_encoding;
3005 LiVESPixbuf *pixbuf_effects;
3006 LiVESPixbuf *pixbuf_directories;
3007 LiVESPixbuf *pixbuf_warnings;
3008 LiVESPixbuf *pixbuf_misc;
3009 LiVESPixbuf *pixbuf_themes;
3010 LiVESPixbuf *pixbuf_net;
3011 LiVESPixbuf *pixbuf_jack;
3012 LiVESPixbuf *pixbuf_midi;
3014 LiVESWidget *ins_resample;
3017 LiVESWidget *layout;
3022 LiVESWidget *dirbutton;
3024 LiVESWidget *pp_combo;
3027 LiVESWidget *mt_enter_defs;
3029 LiVESWidget *advbutton;
3031 LiVESWidget *sp_red, *sp_green, *sp_blue;
3035 LiVESWidget *raw_midi_button;
3043 LiVESSList *jpeg_png = NULL;
3044 LiVESSList *mt_enter_prompt = NULL;
3045 LiVESSList *rb_group2 = NULL;
3049 LiVESSList *alsa_midi_group = NULL;
3050 LiVESList *mchanlist = NULL;
3054 LiVESSList *autoback_group = NULL;
3055 LiVESSList *st_interface_group = NULL;
3057 LiVESSList *asrc_group = NULL;
3060 LiVESList *themes = NULL;
3061 LiVESList *ofmt = NULL;
3062 LiVESList *ofmt_all = NULL;
3063 LiVESList *audp = NULL;
3064 LiVESList *encoders = NULL;
3065 LiVESList *vid_playback_plugins = NULL;
3066 LiVESList *textsizes_list;
3067 LiVESList *rmodelist = NULL;
3068 LiVESList *radjlist = NULL;
3072 char **array, **filt;
3073 char *tmp, *tmp2, *tmp3;
3083 boolean has_ap_rec =
FALSE;
3098 if (!saved_dialog) {
3127#if GTK_CHECK_VERSION(3, 16, 0)
3133 "background-image", tmp);
3163 LIVES_POLICY_AUTOMATIC);
3180#if GTK_CHECK_VERSION(3, 0, 0)
3212 LIVES_BOX(hbox), NULL);
3228 (tmp = H_(
"Setting is assumed automatically if letterbox playback is enabled")));
3238#if GTK_CHECK_VERSION(2, 12, 0)
3294 1., 1., 0, LIVES_BOX(hbox), NULL);
3301 nmons == 1 ? 0 : nmons, 1., 1., 0, LIVES_BOX(hbox),
3302 (tmp = lives_strdup(H_(
"A setting of 0 means use all available "
3303 "monitors (only works with some playback "
3314 (tmp2 = (
_(
"Ignore all except the first monitor."))));
3325 lives_signal_sync_connect(LIVES_GUI_OBJECT(
prefsw->
forcesmon), LIVES_WIDGET_TOGGLED_SIGNAL,
3326 LIVES_GUI_CALLBACK(on_forcesmon_toggled), NULL);
3331 LIVES_BOX(hbox), NULL);
3338 pmoni_gmoni_changed(NULL, (livespointer)
prefsw);
3347 LIVES_BOX(hbox), NULL);
3348 ACTIVE(nmessages_spin, VALUE_CHANGED);
3355 lives_signal_sync_connect(LIVES_GUI_OBJECT(
prefsw->
nmessages_spin), LIVES_WIDGET_VALUE_CHANGED_SIGNAL,
3357 ACTIVE(msgs_unlimited, TOGGLED);
3363 LIVES_BOX(hbox), NULL);
3369 LIVES_GUI_CALLBACK(check_txtsize), NULL);
3373 ACTIVE(msg_textsize_combo, CHANGED);
3378 ACTIVE(msgs_pbdis, TOGGLED);
3406 &mt_enter_prompt, LIVES_BOX(hbox), NULL);
3409 &mt_enter_prompt, LIVES_BOX(hbox), NULL);
3450 LIVES_BOX(hbox), NULL);
3474 &autoback_group, LIVES_BOX(hbox), NULL);
3481 LIVES_GUI_CALLBACK(on_mtbackevery_toggled),
prefsw);
3497 1., 1., 0, LIVES_BOX(hbox), NULL);
3519 (tmp2 = (H_(
"Enable instant opening of some file types using decoder plugins"))));
3528 lives_signal_sync_connect(LIVES_GUI_OBJECT(advbutton), LIVES_WIDGET_CLICKED_SIGNAL,
3538 LIVES_BOX(hbox), NULL);
3544 _(
"The image format to be used when opening clips\n"
3545 "for which there is no instant decoder candidate."));
3574 (tmp = H_(
"A higher value will require less disk space\n"
3575 "but may slow down the application.\n"
3576 "For jpeg, a higher value may lead to\n"
3577 "loss of image quality\n"
3578 "The default value of 15 is recommended")));
3592 _(
"Enable automatic deinterlacing when possible"))),
3594 (tmp2 = (
_(
"Automatically deinterlace frames when a plugin suggests it"))));
3602 _(
"Automatic trimming / padding of audio when possible"))),
3604 (tmp2 = (
_(
"Automatically trim or pad audio when a plugin suggests it"))));
3614 (tmp2 = (
_(
"Clip any blank borders from frames where possible"))));
3625 _(
"When opening multiple files, concatenate images into one clip"),
3658 (tmp2 = (H_(
"If enabled, quality will be automatically adjusted during playback\n"
3659 "in order to maintain a smooth frame rate"))));
3675 (tmp2 = (
_(
"The preview quality for video playback - affects resizing"))));
3693 LIVES_BOX(hbox), NULL);
3708 (tmp = H_(
"This setting only affects newly created layouts.\nTo change the current layout, use menu option\n'Tools' / 'Change Width, Height and Audio Values'\nin the multitrack window")));
3721 LIVES_BOX(hbox), NULL);
3731 vid_playback_plugins = lives_list_prepend(vid_playback_plugins,
3752 lives_signal_sync_connect_after(LIVES_WIDGET_OBJECT(pp_combo), LIVES_WIDGET_CHANGED_SIGNAL,
3759 (tmp2 =
_(
"Stream audio to playback plugin")));
3765 LIVES_GUI_CALLBACK(stream_audio_toggled), NULL);
3772 (tmp2 = lives_strdup
3773 (
_(
"Record output from player instead of input to player"))));
3792#ifdef HAVE_PULSE_AUDIO
3806 if (has_ap_rec) audp = lives_list_append(audp, lives_strdup(
AUDIO_PLAYER_SOX));
3830#ifdef HAVE_PULSE_AUDIO
3860#ifdef HAVE_PULSE_AUDIO
3865 (tmp2 = (
_(
"Recommended, but may interfere with other running "
3866 "audio applications"))));
3869 ACTIVE(checkbutton_parestart, TOGGLED);
3874 LIVES_BOX(hbox), NULL);
3875 ACTIVE(audio_command_entry, CHANGED);
3903 &asrc_group, LIVES_BOX(hbox), NULL);
3943 _(
"Record audio when capturing an e_xternal window\n (requires jack or pulseaudio)"),
3985 LIVES_BOX(hbox), NULL);
4024 LIVES_BOX(hbox), NULL);
4034 LIVES_BOX(hbox), NULL);
4042 lives_layout_add_label(LIVES_LAYOUT(layout),
_(
"Recording is always paused if the disk space critical level is reached"),
4057 _(
"Delay recording playback start until external audio volume reaches "),
4059 LIVES_BOX(hbox), NULL);
4075 (tmp = H_(
"If LiVES crashes or ctrl-c is pressed during "
4076 "recording or when rendering a recording,"
4077 "the recorded material will be retained and reloaded "
4078 "the next time LiVES is restarted.\n\n")));
4079 ACTIVE(rr_crash, TOGGLED);
4089 H_(
"Enables various pre-processing stages so that the resulting rendering\n"
4090 "appears smoother and with fewer audio glitches"));
4093 ACTIVE(rr_super, TOGGLED);
4096 rmodelist = lives_list_append(rmodelist,
_(
"Prioritize Audio rate"));
4097 rmodelist = lives_list_append(rmodelist,
_(
"Prioritize Frame rate"));
4099 H_(
"In 'Prioritize Audio rate' mode, frame timings will be adjusted slightly "
4100 "to maintain the correct audio rate\n"
4101 "In 'Constant Frame Rate' mode, the audio rate will be adjusted slightly "
4102 "so that frames are shown at the exact recorded time\n"));
4105 ACTIVE(rr_combo, CHANGED);
4110 LIVES_BOX(hbox), NULL);
4112 ACTIVE(rr_pre_smooth, TOGGLED);
4116 LIVES_BOX(hbox), NULL);
4118 ACTIVE(rr_qsmooth, TOGGLED);
4122 radjlist = lives_list_append(radjlist,
_(
"Apply effects state at original time"));
4123 radjlist = lives_list_append(radjlist,
_(
"Apply effects state at adjusted time"));
4127 ACTIVE(rr_scombo, CHANGED);
4131 LIVES_BOX(hbox), NULL);
4133 ACTIVE(rr_amicro, TOGGLED);
4137 LIVES_BOX(hbox), NULL);
4139 ACTIVE(rr_ramicro, TOGGLED);
4166 _(
"You can also change these values when encoding a clip"),
FALSE);
4176 LIVES_BOX(hbox), NULL);
4188 for (i = 0; i < lives_list_length(ofmt_all); i++) {
4189 if (
get_token_count((
char *)lives_list_nth_data(ofmt_all, i),
'|') > 2) {
4190 array = lives_strsplit((
char *)lives_list_nth_data(ofmt_all, i),
"|", -1);
4195 ofmt = lives_list_append(ofmt, lives_strdup(array[1]));
4196 lives_strfreev(array);
4241 LIVES_BOX(hbox), NULL);
4247 LIVES_BOX(hbox), NULL);
4258 (tmp = (
_(
"Also affects the monitor gamma !! (for now...)"))));
4267 (tmp2 = lives_strdup(
4268 _(
"The number of \"virtual\" real time effect keys. "
4269 "They can be controlled through the real time effects window, or via network (OSC)."))));
4281 1., 1., 0, LIVES_BOX(hbox), NULL);
4321 (tmp = H_(
"(Frei0r directories should be separated by ':',\n"
4322 "ordered from lowest to highest priority)")));
4332 LIVES_BOX(hbox), NULL);
4340 LIVES_BOX(hbox), NULL);
4344#ifndef HAVE_LIBVISUAL
4369 (LiVESAttachOptions)(LIVES_FILL),
4370 (LiVESAttachOptions)(0), 0, 0);
4374 (LiVESAttachOptions)(LIVES_FILL),
4375 (LiVESAttachOptions)(0), 0, 0);
4379 (LiVESAttachOptions)(LIVES_FILL),
4380 (LiVESAttachOptions)(0), 0, 0);
4384 (LiVESAttachOptions)(LIVES_FILL),
4385 (LiVESAttachOptions)(0), 0, 0);
4389 (LiVESAttachOptions)(LIVES_FILL),
4390 (LiVESAttachOptions)(0), 0, 0);
4395 (LiVESAttachOptions)(LIVES_FILL),
4396 (LiVESAttachOptions)(0), 0, 0);
4407 (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL),
4408 (LiVESAttachOptions)(0), 0, 0);
4418 (tmp2 =
_(
"The default directory for saving encoded clips to")));
4425 (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL),
4426 (LiVESAttachOptions)(0), 0, 0);
4429 ACTIVE(workdir_entry, CHANGED);
4432 NULL,
_(
"The default directory for loading video clips from"));
4434 (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL),
4435 (LiVESAttachOptions)(0), 0, 0);
4438 ACTIVE(vid_load_dir_entry, CHANGED);
4441 NULL,
_(
"The default directory for saving encoded clips to"));
4443 (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL),
4444 (LiVESAttachOptions)(0), 0, 0);
4447 ACTIVE(vid_save_dir_entry, CHANGED);
4450 NULL,
_(
"The default directory for loading and saving audio"));
4452 (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL),
4453 (LiVESAttachOptions)(0), 0, 0);
4456 ACTIVE(audio_dir_entry, CHANGED);
4459 NULL,
_(
"The default directory for saving frameshots to"));
4461 (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL),
4462 (LiVESAttachOptions)(0), 0, 0);
4465 ACTIVE(image_dir_entry, CHANGED);
4468 NULL,
_(
"The default directory for backing up/restoring single clips"));
4470 (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL),
4471 (LiVESAttachOptions)(0), 0, 0);
4474 ACTIVE(image_dir_entry, CHANGED);
4487 (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0);
4489 lives_widget_object_set_data(LIVES_WIDGET_OBJECT(dirbutton),
FILESEL_TYPE_KEY,
4506 (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0);
4514 (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0);
4522 (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0);
4530 (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0);
4538 (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0);
4565 LIVES_BOX(hbox), (tmp2 = (H_(
"LiVES will start showing warnings if usable disk space\n"
4566 "falls below this level"))));
4584 LIVES_BOX(hbox), (tmp2 = (H_(
"LiVES will abort if usable disk space\n"
4585 "falls below this level"))));
4605 _(
"Warn on Insert / Merge if _frame rate of clipboard does "
4606 "not match frame rate of selection"),
4612 _(
"Warn on Open if Instant Opening is not available, and the file _size exceeds "),
4618 LIVES_BOX(hbox), NULL);
4630 (
_(
"Show a warning if _mplayer/mplayer2, sox, composite or convert is not "
4631 "found when LiVES is started."),
4636 (
_(
"Show a warning if no _rendered effects are found at startup."),
4641 (
_(
"Show a warning if no _encoder plugins are found at startup."),
4646 (
_(
"Show a warning if a _duplicate set name is entered."),
4651 (
_(
"When a set is loaded, warn if clips are missing from _layouts."),
4656 (
_(
"Warn if a clip used in a layout is about to be closed."),
4661 (
_(
"Warn if frames used in a layout are about to be deleted."),
4666 (
_(
"Warn if frames used in a layout are about to be shifted."),
4671 (
_(
"Warn if frames used in a layout are about to be altered."),
4676 (
_(
"Warn if audio used in a layout is about to be deleted."),
4681 (
_(
"Warn if audio used in a layout is about to be shifted."),
4686 (
_(
"Warn if audio used in a layout is about to be altered."),
4691 (
_(
"Popup layout errors after clip changes."),
4696 (
_(
"Warn if the layout has not been saved when leaving multitrack mode."),
4701 (
_(
"Warn if multitrack has no audio channels, and a layout with audio is loaded."),
4706 (
_(
"Warn if multitrack has audio channels, and your audio player is not \"jack\" or \"pulseaudio\"."),
4712 (
_(
"Show info message after importing from firewire device."),
4722 (
_(
"Show a warning before opening a yuv4mpeg stream (advanced)."),
4730 (
_(
"Show a warning when multitrack is low on backup space."),
4735 (
_(
"Show a warning advising cleaning of disk space after a crash."),
4740 (
_(
"Show a warning if unable to connect to pulseaudio player."),
4745 (
_(
"Show a warning before wiping a layout which has unsaved changes."),
4750 (
_(
"Show a warning if a loaded layout has incompatible gamma settings."),
4755 (
_(
"Show a warning if a loaded layout has incompatible letterbox settings."),
4760 (
_(
"Show a warning when the menu option Restart in VJ Mode becomes activated."),
4797 (tmp3 = (
_(
"LiVES can load audio tracks from this CD"))));
4805 LIVES_BOX(hbox), (tmp2 = (
_(
"Frames per second to use when none is specified"))));
4826 ACTIVE(cb_show_quota, TOGGLED);
4829 "via the commandline option"));
4839 ACTIVE(cb_show_msgstart, TOGGLED);
4848 (
_(
"_Remove temporary backup files on startup and shutdown"),
4850 "allowing LiVES to remove\ntemporary preview and backup files"));
4851 ACTIVE(cb_autoclean, TOGGLED);
4890 LIVES_BOX(hbox), NULL);
4901 (tmp = H_(
"Make the interface more interesting "
4902 "by adding harmonious colours")));
4918 &sp_green, &sp_blue, NULL);
4919 ACTIVE(cbutton_fore, COLOR_SET);
4924 &sp_green, &sp_blue, NULL);
4925 ACTIVE(cbutton_back, COLOR_SET);
4930 &sp_green, &sp_blue, NULL);
4931 ACTIVE(cbutton_mabf, COLOR_SET);
4936 &sp_green, &sp_blue, NULL);
4937 ACTIVE(cbutton_mab, COLOR_SET);
4942 &sp_green, &sp_blue, NULL);
4943 ACTIVE(cbutton_infot, COLOR_SET);
4948 &sp_green, &sp_blue, NULL);
4949 ACTIVE(cbutton_infob, COLOR_SET);
4955 (tmp2 = (
_(
"Affects some contrast details of the timeline"))));
4962#if GTK_CHECK_VERSION(3, 0, 0)
4984 (tmp2 = (
_(
"The frame image which is shown when there is no clip loaded."))));
4999 (tmp2 = (
_(
"The image shown in the center of the interface."))));
5023 (tmp = (
_(
"Selected frames/audio (clip editor)"))),
5025 ACTIVE(cbutton_cesel, COLOR_SET);
5029 (tmp = (
_(
"Unselected frames/audio (clip editor)"))),
5031 ACTIVE(cbutton_ceunsel, COLOR_SET);
5035 (tmp = (
_(
"Track background (multitrack)"))),
5037 ACTIVE(cbutton_evbox, COLOR_SET);
5042 ACTIVE(cbutton_vidcol, COLOR_SET);
5047 ACTIVE(cbutton_audcol, COLOR_SET);
5052 ACTIVE(cbutton_fxcol, COLOR_SET);
5057 ACTIVE(cbutton_mtmark, COLOR_SET);
5061 (tmp = (
_(
"Timeline selection (multitrack)"))),
5063 ACTIVE(cbutton_tlreg, COLOR_SET);
5068 (tmp = (
_(
"Timecode background (multitrack)"))),
5069 FALSE, &rgba, &sp_red, &sp_green, &sp_blue, NULL);
5070 ACTIVE(cbutton_tcbg, COLOR_SET);
5075 (tmp = (
_(
"Timecode foreground (multitrack)"))),
5076 FALSE, &rgba, &sp_red, &sp_green, &sp_blue, NULL);
5077 ACTIVE(cbutton_tcfg, COLOR_SET);
5083 ACTIVE(cbutton_fsur, COLOR_SET);
5086 lives_signal_sync_connect_after(LIVES_GUI_OBJECT(
prefsw->
theme_combo), LIVES_WIDGET_CHANGED_SIGNAL,
5087 LIVES_GUI_CALLBACK(theme_widgets_set_sensitive), (livespointer)
prefsw);
5137 LIVES_BOX(hbox), NULL);
5168#ifndef ENABLE_JACK_TRANSPORT
5170 _(
"LiVES must be compiled with jack/transport.h and jack/jack.h present to use jack transport"));
5177 LIVES_BOX(hbox), NULL);
5183 LIVES_BOX(hbox), NULL);
5190 LIVES_BOX(hbox), NULL);
5193 LIVES_GUI_CALLBACK(after_jack_master_toggled), NULL);
5198 :
FALSE, LIVES_BOX(hbox), NULL);
5208 LIVES_BOX(hbox), NULL);
5211 LIVES_GUI_CALLBACK(after_jack_client_toggled), NULL);
5216 :
FALSE, LIVES_BOX(hbox), NULL);
5222 LIVES_GUI_CALLBACK(after_jack_tb_start_toggled), NULL);
5232 :
FALSE, LIVES_BOX(hbox),
5233 (tmp = H_(
"If playback is triggered by jack transport,\n"
5234 "then LiVES will attempt to sync with transport"
5235 "\nuntil playback finishes.")));
5268 LIVES_BOX(hbox), NULL);
5275 LIVES_BOX(hbox), NULL);
5283 (
_(
"Automatically connect to System Out ports when 'playing' External Audio"),
5285 LIVES_BOX(hbox), NULL);
5316 LIVES_BOX(hbox), NULL);
5326 (tmp2 = (H_(
"The joystick device, e.g. /dev/input/js0\n"
5327 "Leave blank to use defaults"))));
5341 LIVES_BOX(hbox), NULL);
5347 for (i = 0; i < 16; i++) {
5349 mchanlist = lives_list_append(mchanlist, midichan);
5374 (tmp2 = (
_(
"Create an ALSA MIDI port which other MIDI devices can be connected to"))));
5380 (tmp2 = (
_(
"Create a dummy ALSA MIDI output port."))));
5390 LIVES_BOX(hbox), (tmp2 = (
_(
"Read directly from the MIDI device"))));
5404 (tmp2 = (
_(
"The MIDI device, e.g. /dev/input/midi0"))));
5418 (tmp2 = lives_strdup(
5419 _(
"Number of MIDI checks per keyboard tick. Increasing this may improve "
5420 "MIDI responsiveness, "
5421 "but may slow down playback."))));
5429 (tmp2 = (
_(
"Number of non-reads allowed between succesive reads."))));
5438 lives_signal_sync_connect(LIVES_GUI_OBJECT(
prefsw->
alsa_midi), LIVES_WIDGET_TOGGLED_SIGNAL,
5439 LIVES_GUI_CALLBACK(on_alsa_midi_toggled), NULL);
5470 if (!saved_dialog) {
5474 LIVES_STOCK_REVERT_TO_SAVED, NULL, LIVES_RESPONSE_CANCEL);
5479 LIVES_RESPONSE_ACCEPT);
5498 LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0);
5507 ACTIVE(theme_style2, TOGGLED);
5509 ACTIVE(theme_style3, TOGGLED);
5510 ACTIVE(theme_style4, TOGGLED);
5512 ACTIVE(wpp_entry, CHANGED);
5513 ACTIVE(frei0r_entry, CHANGED);
5514 ACTIVE(libvis_entry, CHANGED);
5515 ACTIVE(ladspa_entry, CHANGED);
5517 ACTIVE(fs_max_check, TOGGLED);
5518 ACTIVE(recent_check, TOGGLED);
5519 ACTIVE(stop_screensaver_check, TOGGLED);
5520 ACTIVE(open_maximised_check, TOGGLED);
5521 ACTIVE(show_tool, TOGGLED);
5522 ACTIVE(mouse_scroll, TOGGLED);
5523 ACTIVE(checkbutton_ce_maxspect, TOGGLED);
5524 ACTIVE(ce_thumbs, TOGGLED);
5525 ACTIVE(checkbutton_button_icons, TOGGLED);
5526 ACTIVE(checkbutton_extra_colours, TOGGLED);
5527 ACTIVE(checkbutton_hfbwnp, TOGGLED);
5528 ACTIVE(checkbutton_show_asrc, TOGGLED);
5529 ACTIVE(checkbutton_show_ttips, TOGGLED);
5530 ACTIVE(rb_startup_mt, TOGGLED);
5531 ACTIVE(rb_startup_ce, TOGGLED);
5533 ACTIVE(spinbutton_warn_ds, VALUE_CHANGED);
5534 ACTIVE(spinbutton_crit_ds, VALUE_CHANGED);
5537 LIVES_GUI_CALLBACK(spinbutton_ds_value_changed), LIVES_INT_TO_POINTER(
FALSE));
5539 LIVES_GUI_CALLBACK(spinbutton_ds_value_changed), LIVES_INT_TO_POINTER(
TRUE));
5541 ACTIVE(spinbutton_gmoni, VALUE_CHANGED);
5542 ACTIVE(spinbutton_pmoni, VALUE_CHANGED);
5545 LIVES_GUI_CALLBACK(pmoni_gmoni_changed), NULL);
5547 LIVES_GUI_CALLBACK(pmoni_gmoni_changed), NULL);
5549 ACTIVE(forcesmon, TOGGLED);
5550 ACTIVE(checkbutton_stream_audio, TOGGLED);
5551 ACTIVE(checkbutton_rec_after_pb, TOGGLED);
5552 ACTIVE(spinbutton_warn_ds, VALUE_CHANGED);
5553 ACTIVE(spinbutton_crit_ds, VALUE_CHANGED);
5555 lives_signal_sync_connect(LIVES_GUI_OBJECT(mt_enter_defs), LIVES_WIDGET_TOGGLED_SIGNAL,
5558 ACTIVE(mt_enter_prompt, TOGGLED);
5559 ACTIVE(checkbutton_render_prompt, TOGGLED);
5561 ACTIVE(spinbutton_mt_def_width, VALUE_CHANGED);
5562 ACTIVE(spinbutton_mt_def_height, VALUE_CHANGED);
5563 ACTIVE(spinbutton_mt_def_fps, VALUE_CHANGED);
5565 ACTIVE(backaudio_checkbutton, TOGGLED);
5566 ACTIVE(pertrack_checkbutton, TOGGLED);
5568 ACTIVE(spinbutton_mt_undo_buf, VALUE_CHANGED);
5570 ACTIVE(checkbutton_mt_exit_render, TOGGLED);
5572 ACTIVE(spinbutton_mt_ab_time, VALUE_CHANGED);
5573 ACTIVE(spinbutton_max_disp_vtracks, VALUE_CHANGED);
5575 ACTIVE(mt_autoback_always, TOGGLED);
5576 ACTIVE(mt_autoback_never, TOGGLED);
5577 ACTIVE(mt_autoback_every, TOGGLED);
5579 ACTIVE(video_open_entry, CHANGED);
5580 ACTIVE(frameblank_entry, CHANGED);
5581 ACTIVE(sepimg_entry, CHANGED);
5583 ACTIVE(spinbutton_ocp, VALUE_CHANGED);
5586 ACTIVE(checkbutton_instant_open, TOGGLED);
5587 ACTIVE(checkbutton_auto_deint, TOGGLED);
5588 ACTIVE(checkbutton_concat_images, TOGGLED);
5589 ACTIVE(checkbutton_lb, TOGGLED);
5590 ACTIVE(checkbutton_lbmt, TOGGLED);
5591 ACTIVE(checkbutton_screengamma, TOGGLED);
5592 ACTIVE(spinbutton_gamma, VALUE_CHANGED);
5593 ACTIVE(pbq_adaptive, TOGGLED);
5595 ACTIVE(pbq_combo, CHANGED);
5596 lives_signal_sync_connect(LIVES_GUI_OBJECT(pp_combo), LIVES_WIDGET_CHANGED_SIGNAL,
5598 ACTIVE(audp_combo, CHANGED);
5600 ACTIVE(checkbutton_show_stats, TOGGLED);
5602 ACTIVE(checkbutton_afollow, TOGGLED);
5603 ACTIVE(checkbutton_aclips, TOGGLED);
5605 ACTIVE(rdesk_audio, TOGGLED);
5607 ACTIVE(rframes, TOGGLED);
5609 ACTIVE(reffects, TOGGLED);
5612 ACTIVE(rextaudio, TOGGLED);
5614 ACTIVE(pa_gens, TOGGLED);
5616 ACTIVE(spinbutton_ext_aud_thresh, VALUE_CHANGED);
5617 ACTIVE(spinbutton_rec_gb, VALUE_CHANGED);
5619 ACTIVE(encoder_combo, CHANGED);
5622 ACTIVE(ofmt_combo, CHANGED);
5623 ACTIVE(acodec_combo, CHANGED);
5626 ACTIVE(checkbutton_antialias, TOGGLED);
5627 ACTIVE(checkbutton_load_rfx, TOGGLED);
5628 ACTIVE(checkbutton_apply_gamma, TOGGLED);
5630 ACTIVE(spinbutton_rte_keys, VALUE_CHANGED);
5631 ACTIVE(spinbutton_nfx_threads, VALUE_CHANGED);
5633 ACTIVE(checkbutton_threads, TOGGLED);
5635 ACTIVE(checkbutton_warn_fps, TOGGLED);
5636 ACTIVE(checkbutton_warn_fsize, TOGGLED);
5637 ACTIVE(checkbutton_warn_save_set, TOGGLED);
5638 ACTIVE(checkbutton_warn_mplayer, TOGGLED);
5639 ACTIVE(checkbutton_warn_rendered_fx, TOGGLED);
5640 ACTIVE(checkbutton_warn_encoders, TOGGLED);
5641 ACTIVE(checkbutton_warn_dup_set, TOGGLED);
5642 ACTIVE(checkbutton_warn_layout_clips, TOGGLED);
5643 ACTIVE(checkbutton_warn_layout_close, TOGGLED);
5644 ACTIVE(checkbutton_warn_layout_delete, TOGGLED);
5645 ACTIVE(checkbutton_warn_layout_shift, TOGGLED);
5646 ACTIVE(checkbutton_warn_layout_alter, TOGGLED);
5647 ACTIVE(checkbutton_warn_layout_adel, TOGGLED);
5648 ACTIVE(checkbutton_warn_layout_ashift, TOGGLED);
5649 ACTIVE(checkbutton_warn_layout_aalt, TOGGLED);
5650 ACTIVE(checkbutton_warn_layout_popup, TOGGLED);
5651 ACTIVE(checkbutton_warn_discard_layout, TOGGLED);
5652 ACTIVE(checkbutton_warn_mt_achans, TOGGLED);
5653 ACTIVE(checkbutton_warn_mt_no_jack, TOGGLED);
5655 ACTIVE(spinbutton_warn_fsize, VALUE_CHANGED);
5658 ACTIVE(checkbutton_warn_after_dvgrab, TOGGLED);
5661 ACTIVE(checkbutton_warn_yuv4m_open, TOGGLED);
5663 ACTIVE(checkbutton_warn_layout_gamma, TOGGLED);
5664 ACTIVE(checkbutton_warn_layout_lb, TOGGLED);
5665 ACTIVE(checkbutton_warn_layout_wipe, TOGGLED);
5666 ACTIVE(checkbutton_warn_no_pulse, TOGGLED);
5667 ACTIVE(checkbutton_warn_after_crash, TOGGLED);
5668 ACTIVE(checkbutton_warn_mt_backup_space, TOGGLED);
5669 ACTIVE(checkbutton_warn_vjmode_enter, TOGGLED);
5671 ACTIVE(check_midi, TOGGLED);
5672 ACTIVE(midichan_combo, CHANGED);
5674 ACTIVE(ins_speed, TOGGLED);
5676 ACTIVE(cdplay_entry, CHANGED);
5678 ACTIVE(spinbutton_def_fps, VALUE_CHANGED);
5680 ACTIVE(theme_combo, CHANGED);
5682 ACTIVE(spinbutton_bwidth, VALUE_CHANGED);
5684 ACTIVE(spinbutton_osc_udp, VALUE_CHANGED);
5685 ACTIVE(enable_OSC_start, TOGGLED);
5686 ACTIVE(enable_OSC, TOGGLED);
5689#ifdef ENABLE_JACK_TRANSPORT
5690 ACTIVE(jack_tserver_entry, CHANGED);
5691 ACTIVE(checkbutton_start_tjack, TOGGLED);
5692 ACTIVE(checkbutton_jack_master, TOGGLED);
5693 ACTIVE(checkbutton_jack_client, TOGGLED);
5694 ACTIVE(checkbutton_jack_tb_start, TOGGLED);
5695 ACTIVE(checkbutton_jack_mtb_start, TOGGLED);
5696 ACTIVE(checkbutton_jack_tb_client, TOGGLED);
5700 ACTIVE(jack_aserver_entry, CHANGED);
5701 ACTIVE(checkbutton_start_ajack, TOGGLED);
5702 ACTIVE(checkbutton_jack_pwp, TOGGLED);
5703 ACTIVE(checkbutton_jack_read_autocon, TOGGLED);
5708 ACTIVE(checkbutton_omc_js, TOGGLED);
5709 ACTIVE(omc_js_entry, CHANGED);
5712 ACTIVE(checkbutton_omc_midi, TOGGLED);
5714 ACTIVE(alsa_midi, TOGGLED);
5715 ACTIVE(alsa_midi_dummy, TOGGLED);
5717 ACTIVE(omc_midi_entry, CHANGED);
5718 ACTIVE(spinbutton_midicr, VALUE_CHANGED);
5719 ACTIVE(spinbutton_midirpt, VALUE_CHANGED);
5732 LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_audp_entry_changed), NULL);
5735 lives_signal_sync_connect(LIVES_GUI_OBJECT(
prefsw->
enable_OSC), LIVES_WIDGET_TOGGLED_SIGNAL,
5736 LIVES_GUI_CALLBACK(on_osc_enable_toggled),
5739 if (saved_dialog == NULL) {
5740 lives_signal_sync_connect(LIVES_GUI_OBJECT(
prefsw->
revertbutton), LIVES_WIDGET_CLICKED_SIGNAL,
5743 lives_signal_sync_connect(LIVES_GUI_OBJECT(
prefsw->
prefs_dialog), LIVES_WIDGET_DELETE_EVENT,
5746 lives_signal_sync_connect(LIVES_GUI_OBJECT(
prefsw->
applybutton), LIVES_WIDGET_CLICKED_SIGNAL,
5755 if (prefs_current_page == -1) {
5760 }
else select_pref_list_row(prefs_current_page,
prefsw);
5773 LiVESWidget *saved_dialog = (LiVESWidget *)user_data;
5774 mt_needs_idlefunc =
FALSE;
5780 mt_needs_idlefunc =
TRUE;
5785 if (menuitem) prefs_current_page = -1;
5828 if (mt_needs_idlefunc) {
5886 boolean needs_restart =
FALSE;
5901 if (needs_restart) {
5903 do_info_dialog(
_(
"LiVES will restart when preferences dialog closes."));
5909 do_info_dialog(
_(
"Disabling the theme will not take effect until the next time you start LiVES."));
5910 }
else do_info_dialog(
_(
"Theme changes will only take full effect after restarting LiVES."));
5915 do_info_dialog(
_(
"Jack options will not take effect until the next time you start LiVES."));
5960static void select_pref_list_row(uint32_t selected_idx,
_prefsw *
prefsw) {
5962 LiVESTreeModel *model;
5971 if (idx == selected_idx) {
5982 LiVESWidget *saved_dialog;
6024static int text_to_lives_perm(
const char *text) {
6032 const char *sudocom = NULL;
6035 int what = atoi(argv[offs]);
6037 what = text_to_lives_perm(argv[offs]);
6045 if (argc >= 5 && strstr(argv[4],
"_TRY_SUDO_")) sudocom = (
const char *)argv[2];
#define is_realtime_aplayer(ptype)
void on_encoder_ofmt_changed(LiVESCombo *combo, livespointer user_data)
void on_encoder_entry_changed(LiVESCombo *combo, livespointer ptr)
void on_quit_activate(LiVESMenuItem *menuitem, livespointer user_data)
LIVES_GLOBAL_INLINE LiVESResponseType do_info_dialog(const char *text)
LiVESResponseType do_error_dialogf(const char *fmt,...)
LiVESResponseType do_read_failed_error_s_with_retry(const char *fname, const char *errtext)
boolean ask_permission_dialog(int what)
LIVES_GLOBAL_INLINE void do_aud_during_play_error(void)
LIVES_GLOBAL_INLINE void do_shutdown_msg(void)
LIVES_GLOBAL_INLINE void do_vpp_fps_error(void)
LIVES_GLOBAL_INLINE char * workdir_ch_warning(void)
LiVESResponseType do_write_failed_error_s_with_retry(const char *fname, const char *errtext)
LIVES_GLOBAL_INLINE void do_vpp_palette_error(void)
LIVES_GLOBAL_INLINE void do_mt_set_mem_error(boolean has_mt)
LIVES_GLOBAL_INLINE LiVESResponseType do_error_dialog(const char *text)
LIVES_GLOBAL_INLINE boolean do_warning_dialog(const char *text)
boolean ask_permission_dialog_complex(int what, char **argv, int argc, int offs, const char *sudocom)
void update_all_host_info(void)
LiVESWidget * add_audio_options(LiVESWidget **cbbackaudio, LiVESWidget **cbpertrack)
LiVESWidget * add_video_options(LiVESWidget **spwidth, int defwidth, LiVESWidget **spheight, int defheight, LiVESWidget **spfps, double deffps, LiVESWidget **spframes, int defframes, boolean add_aspect, LiVESWidget *extra)
void resize_widgets_for_monitor(boolean do_get_play_times)
void set_colours(LiVESWidgetColor *colf, LiVESWidgetColor *colb, LiVESWidgetColor *colf2, LiVESWidgetColor *colb2, LiVESWidgetColor *colt, LiVESWidgetColor *coli)
void play_window_set_title(void)
void load_theme_images(void)
void set_preview_box_colours(void)
void make_play_window(void)
actually in gui.c
void kill_play_window(void)
void on_filesel_button_clicked(LiVESButton *button, livespointer user_data)
callback for lives_standard filesel button same callback is used for dierctory buttons object_data in...
void msg_area_scroll(LiVESAdjustment *adj, livespointer userdata)
#define LIVES_DIR_SELECTION_WORKDIR
#define LIVES_FILE_SELECTION_IMAGE_ONLY
LIVES_GLOBAL_INLINE boolean lives_strcmp(const char *st1, const char *st2)
returns FALSE if strings match
uint64_t get_ds_free(const char *dir)
char * lives_format_storage_space_string(uint64_t space)
void * main_thread_execute(lives_funcptr_t func, int return_type, void *retval, const char *args_fmt,...)
void *(* lives_funcptr_t)(void *)
void load_end_image(int frame)
void load_start_image(int frame)
_palette * palette
interface colour settings
boolean set_palette_colours(boolean force_reload)
void load_preview_image(boolean update_always)
void switch_to_file(int old_file, int new_file)
void get_monitors(boolean reset)
LiVESList * lives_list_copy_strings(LiVESList *list)
ssize_t lives_popen(const char *com, boolean allow_error, char *buff, ssize_t buflen)
void lives_list_free_all(LiVESList **)
size_t get_token_count(const char *string, int delim)
#define LIVES_GLOBAL_INLINE
boolean ensure_isdir(char *fname)
void get_dirname(char *filename)
int lives_utf8_strcasecmp(const char *s1, const char *s2)
boolean switch_aud_to_jack(boolean set_pref)
boolean lives_setenv(const char *name, const char *value)
int lives_system(const char *com, boolean allow_error)
void switch_aud_to_none(boolean set_pref)
boolean is_writeable_dir(const char *dir)
int free_n_msgs(int frval)
#define FPS_MAX
maximum fps we will allow (double)
void update_play_times(void)
like get_play_times, but will force redraw of audio waveforms
void do_jack_noopen_warn(void)
char * get_val_from_cached_list(const char *key, size_t maxlen, LiVESList *cache)
boolean string_lists_differ(LiVESList *, LiVESList *)
boolean switch_aud_to_pulse(boolean set_pref)
int lives_list_strcmp_index(LiVESList *list, livesconstpointer data, boolean case_sensitive)
boolean check_for_executable(lives_checkstatus_t *cap, const char *exec)
int lives_utf8_strcmp(const char *s1, const char *s2)
boolean switch_aud_to_sox(boolean set_pref)
char * ensure_extension(const char *fname, const char *ext) WARN_UNUSED
boolean lives_freep(void **ptr)
#define FX_KEYS_PHYSICAL
FX keys, 1 - 9 normally.
#define THEME_DETAIL_MT_TLREG
#define STYLE_3
style is lightish - allow themeing of widgets with dark text, otherwise use menu bg
#define THEME_DETAIL_SEPWIN_IMAGE
#define DEF_BUTTON_HEIGHT
#define THEME_DETAIL_FXCOL
#define THEME_DETAIL_MT_MARK
#define THEME_DETAIL_ALT_BACK
#define LIVES_IMAGE_TYPE_JPEG
#define THEME_DETAIL_INFO_TEXT
#define EXEC_JACKD
recommended if (!have_pulseaudio)
#define THEME_DETAIL_MT_TCFG
#define THEME_DETAIL_ALT_FORE
#define LIVES_MAIN_WINDOW_WIDGET
#define STYLE_4
separator col. in mt
#define THEME_DETAIL_FRAMEBLANK_IMAGE
#define THEME_DETAIL_CE_SEL
@ LIVES_STRING_CONSTANT_DISABLED
@ LIVES_STRING_CONSTANT_RECOMMENDED
@ LIVES_STRING_CONSTANT_NONE
@ LIVES_STRING_CONSTANT_ANY
#define THEME_DETAIL_MT_EVBOX
#define LIVES_FILE_EXT_PNG
#define THEME_DETAIL_AUDCOL
#define THEME_DETAIL_INFO_BASE
#define THEME_DETAIL_MT_TCBG
#define FX_KEYS_MAX_VIRTUAL
must be >= FX_KEYS_PHYSICAL, and <=64 (number of bits in a 64bit int mask) (max number of keys accesi...
#define THEME_DETAIL_CE_UNSEL
#define THEME_DETAIL_FRAME_SURROUND
#define LIVES_FILE_EXT_NEW
#define EXEC_MIDISTOP
shipped
#define THEME_DETAIL_NORMAL_BACK
#define STYLE_1
turn on theming if set
_fx_dialog * fx_dialog[2]
#define THEME_DETAIL_NORMAL_FORE
#define LIVES_IMAGE_TYPE_PNG
#define LIVES_FILE_EXT_JPG
#define THEME_DETAIL_STYLE
#define EXEC_MIDISTART
shipped
#define STYLE_2
colour the spinbuttons on the front page if set
#define THEME_DETAIL_VIDCOL
void mt_clip_select(lives_mt *mt, boolean scroll)
boolean mt_auto_backup(livespointer user_data)
boolean resize_timeline(lives_mt *mt)
uint32_t mt_idle_add(lives_mt *mt)
void mt_desensitise(lives_mt *mt)
void track_select(lives_mt *mt)
must call after setting mt->current_track
void mt_sensitise(lives_mt *mt)
void set_mt_colours(lives_mt *mt)
boolean make_backup_space(lives_mt *mt, size_t space_needed)
void scroll_tracks(lives_mt *mt, int top_track, boolean set_value)
void mt_show_current_frame(lives_mt *mt, boolean return_layer)
preview the current frame
boolean write_backup_layout_numbering(lives_mt *mt)
#define OMC_DEV_FORCE_RAW_MIDI
#define OMC_DEV_MIDI_DUMMY
void vid_playback_plugin_exit(void)
void do_plugin_encoder_error(const char *plugin_name)
LiVESList * get_plugin_list(const char *plugin_type, boolean allow_nonex, const char *plugdir, const char *filter_ext)
_vid_playback_plugin * open_vid_playback_plugin(const char *name, boolean in_use)
void close_vid_playback_plugin(_vid_playback_plugin *vpp)
int64_t get_best_audio(_vid_playback_plugin *vpp)
const char *const anames[AUDIO_CODEC_MAX]
void on_decplug_advanced_clicked(LiVESButton *button, livespointer user_data)
LIVES_GLOBAL_INLINE LiVESList * plugin_request_by_line(const char *plugin_type, const char *plugin_name, const char *request)
_vppaw * on_vpp_advanced_clicked(LiVESButton *button, livespointer user_data)
#define AUDIO_STREAMER_NAME
#define PLUGIN_THEMES_CUSTOM
#define PLUGIN_AUDIO_STREAM
#define VPP_LOCAL_DISPLAY
#define PLUGIN_THEMES
smogrify handles the directory differently for themes
#define PLUGIN_VID_PLAYBACK
#define VPP_CAN_RESIZE
type sepcific caps
#define AUDIO_CODEC_UNKNOWN
LIVES_GLOBAL_INLINE boolean get_boolean_prefd(const char *key, boolean defval)
int delete_pref(const char *key)
void on_prefs_revert_clicked(LiVESButton *button, livespointer user_data)
void pref_change_xcolours(void)
int set_colour_pref(const char *key, lives_colRGBA64_t *lcol)
void on_preferences_activate(LiVESMenuItem *menuitem, livespointer user_data)
int set_boolean_pref(const char *key, boolean value)
LIVES_GLOBAL_INLINE LiVESResponseType get_string_pref(const char *key, char *val, int maxlen)
boolean pref_factory_float(const char *prefidx, float newval, boolean permanent)
boolean pref_factory_bitmapped(const char *prefidx, int bitfield, boolean newval, boolean permanent)
int set_double_pref(const char *key, double value)
int set_list_pref(const char *key, LiVESList *values)
void on_prefs_close_clicked(LiVESButton *button, livespointer user_data)
LiVESList * get_list_pref(const char *key)
boolean lives_ask_permission(char **argv, int argc, int offs)
boolean pref_factory_int64(const char *prefidx, int64_t newval, boolean permanent)
void rdet_acodec_changed(LiVESCombo *acodec_combo, livespointer user_data)
boolean apply_prefs(boolean skip_warn)
void set_theme_colour_pref(const char *themefile, const char *key, lives_colRGBA64_t *lcol)
void pref_change_images(void)
void on_prefs_page_changed(LiVESTreeSelection *widget, _prefsw *prefsw)
void apply_button_set_enabled(LiVESWidget *widget, livespointer func_data)
LIVES_GLOBAL_INLINE boolean get_boolean_pref(const char *key)
LIVES_GLOBAL_INLINE double get_double_pref(const char *key)
void set_theme_pref(const char *themefile, const char *key, const char *value)
LIVES_GLOBAL_INLINE int64_t get_int64_prefd(const char *key, int64_t defval)
LIVES_GLOBAL_INLINE LiVESResponseType get_pref_from_file(const char *filename, const char *key, char *val, int maxlen)
_prefsw * create_prefs_dialog(LiVESWidget *saved_dialog)
void pref_change_colours(void)
boolean get_colour_pref(const char *key, lives_colRGBA64_t *lcol)
int set_string_pref(const char *key, const char *value)
int set_utf8_pref(const char *key, const char *value)
void toggle_sets_pref(LiVESWidget *widget, livespointer prefidx)
callback to set to make a togglebutton or check_menu_item directly control a boolean pref widget is e...
LIVES_GLOBAL_INLINE boolean has_pref(const char *key)
boolean pref_factory_string(const char *prefidx, const char *newval, boolean permanent)
LIVES_GLOBAL_INLINE double get_double_prefd(const char *key, double defval)
boolean pref_factory_int(const char *prefidx, int newval, boolean permanent)
boolean pref_factory_string_choice(const char *prefidx, LiVESList *list, const char *strval, boolean permanent)
void on_prefs_apply_clicked(LiVESButton *button, livespointer user_data)
int set_int64_pref(const char *key, int64_t value)
LIVES_GLOBAL_INLINE int get_int_pref(const char *key)
#define ACTIVE(widget, signal)
LIVES_GLOBAL_INLINE int get_int_prefd(const char *key, int defval)
boolean pref_factory_color_button(lives_colRGBA64_t *pcol, LiVESColorButton *cbutton)
void prefsw_set_astream_settings(_vid_playback_plugin *vpp, _prefsw *prefsw)
void save_future_prefs(void)
void prefsw_set_rec_after_settings(_vid_playback_plugin *vpp, _prefsw *prefsw)
LIVES_GLOBAL_INLINE LiVESResponseType get_string_prefd(const char *key, char *val, int maxlen, const char *def)
void after_vpp_changed(LiVESWidget *vpp_combo, livespointer advbutton)
void set_palette_prefs(boolean save)
boolean pref_factory_bool(const char *prefidx, boolean newval, boolean permanent)
void set_vpp(boolean set_in_prefs)
void set_acodec_list_from_allowed(_prefsw *prefsw, render_details *rdet)
int set_string_pref_priority(const char *key, const char *value)
int set_int_pref(const char *key, int value)
boolean get_theme_colour_pref(const char *key, lives_colRGBA64_t *lcol)
LiVESResponseType get_utf8_pref(const char *key, char *val, int maxlen)
#define AUDIO_PLAYER_NONE
#define PREF_VID_LOAD_DIR
#define WARN_MASK_LAYOUT_WIPE
#define PREF_FILESEL_MAXIMISED
#define JACK_OPTS_TIMEBASE_START
jack sets play start position
#define PREF_WORKING_DIR_OLD
#define PREF_DS_WARN_LEVEL
#define AUDIO_PLAYER_PULSE_AUDIO
used for display, alternate pref and alternate startup opt (-aplayer pulseaudio)
#define WARN_MASK_MT_NO_JACK
#define PREF_MAX_DISP_VTRACKS
#define PREF_FORCE_SINGLE_MONITOR
#define WARN_MASK_LAYOUT_DELETE_FRAMES
#define PREFS_IMAGES_CHANGED
#define WARN_MASK_MT_ACHANS
#define PREF_REC_EXT_AUDIO
#define WARN_MASK_VJMODE_ENTER
#define PREF_SHOW_RECENT_FILES
#define PREF_USE_SCREEN_GAMMA
#define PREFS_JACK_CHANGED
#define JACK_OPTS_TRANSPORT_CLIENT
jack can start/stop
#define PREF_PREF_TRASH
prefer trash to delete
#define PREFS_XCOLOURS_CHANGED
#define PREF_OMC_MIDI_FNAME
#define PREFS_COLOURS_CHANGED
#define PREF_MASTER_VOLUME
#define WARN_MASK_LAYOUT_MISSING_CLIPS
#define LIVES_PERM_COPY_LOCAL
#define PREF_DS_CRIT_LEVEL
#define PREF_OMC_JS_FNAME
#define PREF_MT_BACKAUDIO
#define PREF_AUDIO_PLAYER
#define WARN_MASK_MT_BACKUP_SPACE
#define PREF_AHOLD_THRESHOLD
#define PREF_SHOW_DEVOPTS
#define PREF_AUTO_TRIM_PAD_AUDIO
#define AUDIO_OPTS_FOLLOW_CLIPS
#define PREF_MT_DEF_ASAMPS
#define PREF_ENCODER_ACODEC
#define AUDIO_PLAYER_JACK
#define WARN_MASK_LAYOUT_DELETE_AUDIO
#define WARN_MASK_SAVE_SET
#define PREF_MT_DEF_ARATE
#define PREF_PUSH_AUDIO_TO_GENS
#define PREF_SHOW_TOOLTIPS
#define PREF_REC_DESKTOP_AUDIO
#define WARN_MASK_LAYOUT_ALTER_FRAMES
off by default on a fresh install
#define WARN_MASK_NO_PULSE_CONNECT
#define PREF_MT_DEF_ACHANS
#define PREF_RENDER_PROMPT
#define PREF_OPEN_MAXIMISED
#define PREF_STARTUP_INTERFACE
#define PREF_RTE_KEYS_VIRTUAL
#define PREF_INSTANT_OPEN
#define WARN_MASK_LAYOUT_LB
#define AUDIO_PLAYER_PULSE
used in pref and for external players (e.g -ao pulse, -aplayer pulse)
#define PREF_INSERT_RESAMPLE
#define PREF_AUTOCLEAN_TRASH
remove unneeded files on shutdown / startup
#define PREF_MT_DEF_HEIGHT
#define JACK_OPTS_TIMEBASE_CLIENT
full timebase client
#define PREF_SCREEN_GAMMA
#define PREF_DEFAULT_IMAGE_TYPE
#define PREF_MSG_TEXTSIZE
#define PREF_LOAD_RFX_BUILTIN
#define PREF_VIDEO_OPEN_COMMAND
#define PREF_MT_DEF_WIDTH
#define PREF_WEED_PLUGIN_PATH
#define PREF_OPEN_COMPRESSION_PERCENT
#define SEPWIN_TYPE_STICKY
#define PREF_STOP_SCREENSAVER
#define PREF_MT_DEF_SIGNED_ENDIAN
#define LIVES_PERM_OSC_PORTS
#define PREFS_NEEDS_REVERT
#define WARN_MASK_EXIT_MT
off by default on a fresh install
#define WARN_MASK_OPEN_YUV4M
#define PREF_MT_EXIT_RENDER
#define PREF_MIDI_CHECK_RATE
#define PREF_STREAM_AUDIO_OUT
#define PREF_SHOW_TOOLBAR
#define PREF_MOUSE_SCROLL_CLIPS
#define WARN_MASK_LAYOUT_POPUP
#define JACK_OPTS_NOPLAY_WHEN_PAUSED
play audio even when transport paused
#define JACK_OPTS_START_TSERVER
start transport server
#define PREF_OMC_DEV_OPTS
#define WARN_MASK_LAYOUT_CLOSE_FILE
#define AUDIO_OPTS_FOLLOW_FPS
#define PREF_CONCAT_IMAGES
#define WARN_MASK_LAYOUT_ALTER_AUDIO
off by default on a fresh install
#define WARN_MASK_RENDERED_FX
#define PREF_MT_PERTRACK_AUDIO
#define PREF_AUTO_DEINTERLACE
#define WARN_MASK_DUPLICATE_SET
#define JACK_OPTS_TRANSPORT_MASTER
transport master
#define PREF_CE_THUMB_MODE
#define PREF_DL_BANDWIDTH_K
#define WARN_MASK_LAYOUT_GAMMA
#define PB_QUALITY_MED
default
#define PREF_EXTRA_COLOURS
#define PREF_MT_ENTER_PROMPT
#define WARN_MASK_NO_ENCODERS
#define WARN_MASK_LAYOUT_SHIFT_FRAMES
off by default on a fresh install
#define PREF_MIDI_RCV_CHANNEL
#define JACK_OPTS_TIMEBASE_LSTART
LiVES sets play start position.
_future_prefs * future_prefs
#define LIVES_PERM_INVALID
#define PREFS_WORKDIR_CHANGED
#define PREF_LIBVISUAL_PATH
#define PREF_VID_PLAYBACK_PLUGIN
#define WARN_MASK_NO_MPLAYER
#define LIVES_PERM_DOWNLOAD_LOCAL
#define PREF_AUTO_CUT_BORDERS
#define PREFS_THEME_CHANGED
#define WARN_MASK_AFTER_DVGRAB
#define DS_WARN_CRIT_MAX
MB. (default 1 TB)
#define PREF_LIVES_WARNING_MASK
#define PREF_PBQ_ADAPTIVE
#define PREF_SHOW_BUTTON_ICONS
#define WARN_MASK_LAYOUT_SHIFT_AUDIO
off by default on a fresh install
#define WARN_MASK_CLEAN_AFTER_CRASH
#define PREF_DISABLED_DECODERS
#define PREF_VID_SAVE_DIR
#define PREF_MT_AUTO_BACK
#define JACK_OPTS_START_ASERVER
start audio server
#define PREF_WARN_FILE_SIZE
#define PREF_SHOW_PLAYER_STATS
#define PREF_CDPLAY_DEVICE
#define JACK_OPTS_NO_READ_AUTOCON
do not auto con. rd clients when playing ext aud
_resaudw * create_resaudw(short type, render_details *rdet, LiVESWidget *top_vbox)
resample audio window
LiVESWidget * refresh_rte_window(void)
LiVESResponseType check_workdir_valid(char **pdirname, LiVESDialog *dialog, boolean fullcheck)
volatile float volume
audio volume level (for jack and pulse)
boolean pref_trash
user prefers trash to delete (future / present swapped)
LiVESList * disabled_decoders
char vpp_name[64]
new video playback plugin
LiVESWidgetColor mt_timecode_bg
LiVESWidgetColor normal_fore
LiVESWidgetColor info_base
lives_colRGBA64_t mt_evbox
lives_colRGBA64_t mt_timeline_reg
LiVESWidgetColor menu_and_bars
LiVESWidgetColor info_text
LiVESWidgetColor normal_back
lives_colRGBA64_t frame_surround
lives_colRGBA64_t ce_unsel
lives_colRGBA64_t mt_mark
LiVESWidgetColor menu_and_bars_fore
LiVESWidgetColor mt_timecode_fg
_encoder encoder
from main.h
int mt_auto_back
time diff to backup (-1 == never, 0 == after every change, > 0 == seconds)
boolean crash_recovery
TRUE==maintain mainw->recovery file.
uint64_t ds_crit_level
diskspace critical level bytes
char omc_js_fname[PATH_MAX]
utf8
volatile uint32_t audio_opts
boolean rec_desktop_audio
int ocp
open_compression_percent : get/set in prefs
int midi_check_rate
deprecated
boolean push_audio_to_gens
boolean show_msgs_on_startup
char video_open_command[PATH_MAX *2]
char def_vid_save_dir[PATH_MAX]
boolean letterbox_mt
playback with letterbox (multitrack)
float volume
audio volume level (for jack and pulse)
char jack_tserver[PATH_MAX]
char ladspa_path[PATH_MAX]
char def_image_dir[PATH_MAX]
char workdir[PATH_MAX]
kept in locale encoding
boolean autoclean
remove temp files on shutdown / startup
char frei0r_path[PATH_MAX]
boolean letterbox
playback with letterbox
char def_audio_dir[PATH_MAX]
boolean show_player_stats
char cdplay_device[PATH_MAX]
locale encoding
LiVESList * disabled_decoders
char configfile[PATH_MAX]
kept in locale encoding (config settings) [default ~/.local/config/lives)
boolean force_single_monitor
boolean show_button_images
char weed_plugin_path[PATH_MAX]
char omc_midi_fname[PATH_MAX]
utf8
boolean mouse_scroll_clips
char libvis_path[PATH_MAX]
char theme[64]
the theme name
boolean pref_trash
user prefers trash to delete
int acodec_list_to_format[AUDIO_CODEC_NONE]
boolean mt_pertrack_audio
boolean ar_clipset
auto-reload
char backend_sync[PATH_MAX *4]
char def_proj_dir[PATH_MAX]
uint64_t ds_warn_level
diskspace warn level bytes
char def_vid_load_dir[PATH_MAX]
char jack_aserver[PATH_MAX]
LiVESWidget * scrollw_right_effects
LiVESWidget * cb_show_quota
LiVESWidget * checkbutton_warn_layout_delete
LiVESWidget * alsa_midi_dummy
LiVESWidget * checkbutton_warn_rendered_fx
LiVESWidget * checkbutton_warn_layout_alter
LiVESWidget * vbox_right_playback
LiVESWidget * spinbutton_mt_def_height
LiVESWidget * msg_textsize_combo
LiVESWidget * scrollw_right_decoding
LiVESWidget * checkbutton_concat_images
LiVESWidget * checkbutton_auto_deint
LiVESWidget * checkbutton_warn_fps
LiVESWidget * jack_tserver_entry
LiVESWidget * checkbutton_warn_layout_gamma
LiVESWidget * checkbutton_warn_layout_shift
LiVESWidget * cbutton_infob
LiVESWidget * cbutton_infot
LiVESWidget * vbox_right_net
LiVESWidget * revertbutton
LiVESWidget * encoder_combo
LiVESWidget * fs_max_check
LiVESWidget * spinbutton_midicr
LiVESWidget * cbutton_evbox
LiVESWidget * checkbutton_warn_after_crash
LiVESWidget * cbutton_tcfg
LiVESWidget * checkbutton_jack_master
LiVESWidget * checkbutton_hfbwnp
LiVESWidget * scrollw_right_recording
LiVESWidget * vbox_right_themes
LiVESWidget * checkbutton_instant_open
LiVESWidget * scrollw_right_playback
LiVESWidget * stop_screensaver_check
LiVESWidget * scrollw_right_misc
LiVESWidget * midichan_combo
LiVESWidget * checkbutton_warn_mt_no_jack
LiVESWidget * vbox_right_decoding
LiVESWidget * checkbutton_warn_layout_clips
LiVESWidget * cbutton_fsur
LiVESAccelGroup * accel_group
LiVESWidget * vbox_right_multitrack
LiVESWidget * scrollw_right_directories
LiVESWidget * sepimg_entry
LiVESWidget * applybutton
LiVESWidget * checkbutton_show_asrc
LiVESWidget * checkbutton_warn_mt_achans
LiVESWidget * checkbutton_threads
LiVESWidget * se_filebutton
LiVESWidget * fb_filebutton
LiVESWidget * checkbutton_jack_read_autocon
LiVESWidget * scrollw_right_midi
LiVESWidget * proj_dir_entry
LiVESWidget * scrollw_right_jack
LiVESWidget * vbox_right_misc
LiVESWidget * spinbutton_mt_undo_buf
LiVESWidget * vbox_right_gui
LiVESWidget * theme_style3
LiVESWidget * vbox_right_jack
LiVESWidget * checkbutton_omc_js
LiVESWidget * vid_load_dir_entry
LiVESWidget * cbutton_cesel
LiVESWidget * spinbutton_crit_ds
LiVESWidget * spinbutton_midirpt
LiVESWidget * table_right_directories
LiVESWidget * cbutton_mab
LiVESWidget * frei0r_entry
LiVESWidget * spinbutton_rec_gb
LiVESWidget * checkbutton_apply_gamma
LiVESWidget * spinbutton_warn_fsize
LiVESWidget * checkbutton_parestart
LiVESWidget * jack_int_label
LiVESWidget * omc_js_entry
LiVESWidget * checkbutton_screengamma
LiVESWidget * spinbutton_ocp
LiVESWidget * acodec_combo
LiVESWidget * scrollw_right_warnings
LiVESWidget * msgs_unlimited
LiVESWidget * spinbutton_bwidth
LiVESWidget * jack_aserver_entry
LiVESWidget * mt_enter_prompt
LiVESWidget * scrollw_right_multitrack
LiVESWidget * checkbutton_jack_client
LiVESWidget * checkbutton_warn_encoders
LiVESWidget * spinbutton_gamma
LiVESWidget * spinbutton_gmoni
LiVESWidget * checkbutton_afollow
LiVESWidget * checkbutton_lbmt
LiVESWidget * checkbutton_warn_mt_backup_space
LiVESWidget * forcesmon_hbox
LiVESWidget * scrollw_right_net
LiVESWidget * checkbutton_lb
LiVESWidget * checkbutton_show_ttips
LiVESWidget * checkbutton_show_stats
LiVESWidget * scrollw_right_encoding
LiVESWidget * checkbutton_rec_after_pb
LiVESWidget * checkbutton_button_icons
LiVESWidget * rr_pre_smooth
LiVESWidget * checkbutton_warn_no_pulse
LiVESWidget * mt_autoback_every
LiVESWidget * spinbutton_pmoni
LiVESWidget * image_dir_entry
LiVESWidget * spinbutton_max_disp_vtracks
LiVESWidget * spinbutton_rte_keys
LiVESWidget * spinbutton_mt_def_width
LiVESWidget * vbox_right_encoding
LiVESWidget * theme_style2
LiVESWidget * spinbutton_osc_udp
LiVESWidget * cbutton_audcol
LiVESWidget * workdir_label
LiVESWidget * checkbutton_ce_maxspect
LiVESWidget * spinbutton_def_fps
LiVESWidget * spinbutton_warn_ds
LiVESWidget * recent_check
boolean ignore_apply
dont light the apply button when thing changes (for external calls), normally FALSE
LiVESWidget * checkbutton_warn_after_dvgrab
LiVESWidget * rdesk_audio
LiVESWidget * cbutton_tcbg
LiVESWidget * cdplay_entry
LiVESWidget * cbutton_fore
LiVESWidget * pbq_adaptive
LiVESWidget * checkbutton_warn_vjmode_enter
LiVESWidget * cb_show_msgstart
LiVESWidget * closebutton
LiVESWidget * open_maximised_check
LiVESWidget * mt_autoback_never
LiVESWidget * checkbutton_mt_exit_render
LiVESWidget * cbutton_vidcol
LiVESWidget * checkbutton_auto_trim
LiVESWidget * workdir_entry
LiVESWidget * checkbutton_warn_layout_close
LiVESWidget * checkbutton_antialias
LiVESWidget * checkbutton_warn_dup_set
LiVESWidget * enable_OSC_start
LiVESWidget * cbutton_tlreg
LiVESWidget * checkbutton_warn_layout_adel
LiVESWidget * checkbutton_warn_yuv4m_open
LiVESWidget * checkbutton_warn_discard_layout
LiVESWidget * ladspa_entry
LiVESWidget * dialog_hpaned
LiVESWidget * spinbutton_mt_def_fps
LiVESWidget * theme_combo
LiVESWidget * mt_autoback_always
LiVESWidget * spinbutton_ext_aud_thresh
LiVESWidget * theme_style4
LiVESWidget * checkbutton_jack_tb_start
LiVESWidget * checkbutton_start_tjack
LiVESWidget * vbox_right_midi
LiVESWidget * checkbutton_warn_layout_aalt
LiVESWidget * vbox_right_recording
LiVESWidget * checkbutton_warn_layout_ashift
LiVESWidget * cbutton_mabf
LiVESWidget * omc_midi_entry
LiVESWidget * vbox_right_warnings
LiVESWidget * cbutton_back
LiVESWidget * libvis_entry
LiVESWidget * checkbutton_start_ajack
LiVESWidget * checkbutton_warn_save_set
LiVESWidget * nmessages_spin
LiVESWidget * spinbutton_nfx_threads
LiVESWidget * audio_dir_entry
LiVESWidget * frameblank_entry
LiVESWidget * checkbutton_nobord
LiVESWidget * checkbutton_extra_colours
LiVESWidget * checkbutton_warn_fsize
LiVESWidget * checkbutton_jack_tb_client
LiVESWidget * checkbutton_warn_layout_wipe
LiVESWidget * cbutton_mtmark
LiVESWidget * backaudio_checkbutton
LiVESWidget * button_midid
LiVESWidget * rb_startup_ce
LiVESWidget * checkbutton_render_prompt
LiVESWidget * right_shown
LiVESWidget * checkbutton_warn_layout_popup
LiVESWidget * mouse_scroll
LiVESWidget * vbox_right_effects
LiVESWidget * audio_command_entry
LiVESWidget * prefs_dialog
LiVESWidget * video_open_entry
LiVESWidget * checkbutton_warn_layout_lb
LiVESWidget * checkbutton_aclips
LiVESWidget * rb_startup_mt
LiVESWidget * scrollw_right_gui
LiVESTreeSelection * selection
LiVESWidget * checkbutton_stream_audio
LiVESWidget * scrollw_right_themes
LiVESWidget * spinbutton_mt_ab_time
LiVESWidget * cbutton_fxcol
LiVESWidget * checkbutton_warn_mplayer
LiVESWidget * pertrack_checkbutton
LiVESWidget * vid_save_dir_entry
LiVESWidget * cb_autoclean
LiVESWidget * checkbutton_jack_mtb_start
LiVESWidget * cbutton_ceunsel
LiVESWidget * checkbutton_omc_midi
LiVESWidget * checkbutton_load_rfx
LiVESWidget * checkbutton_jack_pwp
LiVESWidget * aud_checkbutton
LiVESWidget * entry_asamps
LiVESWidget * rb_unsigned
LiVESWidget * entry_arate
LiVESWidget * entry_achans
int(* set_yuv_palette_clamping)(int clamping_type)
boolean(* init_audio)(int in_sample_rate, int in_nchans, int argc, char **argv)
int palette
width in pixels, but converted to macropixels for the player
boolean(* set_fps)(double fps)
boolean(* set_palette)(int palette)
lives_checkstatus_t has_icedax
lives_checkstatus_t has_midistartstop
lives_checkstatus_t has_sox_play
lives_checkstatus_t has_encoder_plugins
lives_checkstatus_t has_jackd
lives_checkstatus_t has_pulse_audio
lives_checkstatus_t has_cdda2wav
LiVESList * prefs_cache
file caches
_vid_playback_plugin * vpp
video plugin
LiVESWidget * export_theme
double fixed_fpsd
<=0. means free playback
boolean prefs_need_restart
void * pulsed
pulseaudio player
LiVESWidget * vol_toolitem
char frameblank_path[PATH_MAX]
???
volatile boolean loop_cont
char * string_constants[NUM_LIVES_STRING_CONSTANTS]
char vid_save_dir[PATH_MAX]
boolean ext_cntl[MAX_EXT_CNTL]
external control inputs
char proj_load_dir[PATH_MAX]
LiVESWidget * volume_scale
boolean no_context_update
may be set temporarily to block wodget context updates
LiVESWidget * play_window
uint64_t next_ds_warn_level
current disk space warning level for the tempdir
void * jackd
jack audio player / transport
LiVESList * gen_cache
general cache of fi
LiVESAdjustment * msg_adj
LiVESWidget * recent_menu
LiVESWidget * show_devopts
char proj_save_dir[PATH_MAX]
boolean ext_playback
using external video playback plugin
LiVESWidget * ext_audio_checkbutton
weed_event_t * stored_event_list
stored mt -> clip editor
char sepimg_path[PATH_MAX]
LiVESWidget * preview_box
boolean has_session_workdir
lives_mt * multitrack
holds a pointer to the entire multitrack environment; NULL in Clip Edit mode
volatile boolean ping_pong
LiVESWidget * int_audio_checkbutton
boolean write_vpp_file
video playback plugin was updated; write settings to a file on exit
boolean midi_channel_lock
int playing_file
which number file we are playing (or -1) [generally mainw->current_file]
char vid_load_dir[PATH_MAX]
LiVESWidget * acodec_combo
#define lives_strdup_printf(fmt,...)