X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpreferences.C;h=dbf14c49597688b74f7028d96815eca5948d527d;hp=d9db06ad2b35eae3f5f30e11f58827d05e7c4ba4;hb=HEAD;hpb=caf23b6b8e0024c33390ddaa165e11956e66f1c2 diff --git a/cinelerra-5.1/cinelerra/preferences.C b/cinelerra-5.1/cinelerra/preferences.C index d9db06ad..dbffa179 100644 --- a/cinelerra-5.1/cinelerra/preferences.C +++ b/cinelerra-5.1/cinelerra/preferences.C @@ -2,6 +2,7 @@ /* * CINELERRA * Copyright (C) 2008 Adam Williams + * Copyright (C) 2003-2016 Cinelerra CV contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -59,6 +60,7 @@ Preferences::Preferences() if( strlen(index_directory) ) fs.complete_path(index_directory); cache_size = 0x10000000; + cache_transitions = 1; index_size = 0x400000; index_count = 500; use_thumbnails = 1; @@ -74,8 +76,9 @@ Preferences::Preferences() vicon_size = 50; vicon_color_mode = VICON_COLOR_MODE_LOW; theme[0] = 0; + strcpy(locale, DEFAULT_LOCALE); plugin_icons[0] = 0; - strcpy(snapshot_path, "/tmp"); + strcpy(snapshot_path, DEFAULT_SNAPSHOT_PATH); use_renderfarm = 0; force_uniprocessor = 0; renderfarm_port = DEAMON_PORT; @@ -91,20 +94,21 @@ Preferences::Preferences() ffmpeg_marker_indexes = 1; memset(&use_hw_dev, 0, sizeof(use_hw_dev)); warn_indexes = 1; - warn_version = 1; - warn_stack = 1; + unsafe_gui = 0; + ongoing_backups = 0; warn_fileref = 1; bd_warn_root = 1; popupmenu_btnup = 1; grab_input_focus = 1; - textbox_focus_policy = 0; + textbox_focus_policy = CLICK_ACTIVATE | CLICK_DEACTIVATE; + auto_rotate = 1; forward_render_displacement = 0; dvd_yuv420p_interlace = 0; highlight_inverse = 0xffffff; - yuv_color_space = BC_COLORS_BT601; + yuv_color_space = BC_COLORS_BT601_NTSC; yuv_color_range = BC_COLORS_JPEG; autocolor_assets = 0; - ctrl_toggle = 0; + ctrl_toggle = 1; rectify_audio = 0; // Default brender asset @@ -125,6 +129,9 @@ Preferences::Preferences() android_remote = 0; android_port = 23432; strcpy(android_pin, "cinelerra"); + + fast_speed = 2.0; + slow_speed = 0.5; memset(channel_positions, 0, sizeof(channel_positions)); int channels = 0; @@ -189,6 +196,7 @@ void Preferences::copy_from(Preferences *that) vicon_size = that->vicon_size; vicon_color_mode = that->vicon_color_mode; strcpy(theme, that->theme); + strcpy(locale, that->locale); strcpy(plugin_icons, that->plugin_icons); strcpy(snapshot_path, that->snapshot_path); @@ -197,6 +205,10 @@ void Preferences::copy_from(Preferences *that) android_remote = that->android_remote; android_port = that->android_port; strcpy(android_pin, that->android_pin); + + slow_speed = that->slow_speed; + fast_speed = that->fast_speed; + this->shbtn_prefs.remove_all_objects(); for( int i=0; ishbtn_prefs.size(); ++i ) this->shbtn_prefs.append(new ShBtnPref(*that->shbtn_prefs[i])); @@ -204,6 +216,7 @@ void Preferences::copy_from(Preferences *that) for( int i=0; ifile_probes.size(); ++i ) this->file_probes.append(new ProbePref(*that->file_probes[i])); cache_size = that->cache_size; + cache_transitions = that->cache_transitions; project_smp = that->project_smp; force_uniprocessor = that->force_uniprocessor; strcpy(lv2_path, that->lv2_path); @@ -216,13 +229,14 @@ void Preferences::copy_from(Preferences *that) ffmpeg_marker_indexes = that->ffmpeg_marker_indexes; strcpy(use_hw_dev, &that->use_hw_dev[0]); warn_indexes = that->warn_indexes; - warn_version = that->warn_version; - warn_stack = that->warn_stack; + unsafe_gui = that->unsafe_gui; + ongoing_backups = that->ongoing_backups; warn_fileref = that->warn_fileref; bd_warn_root = that->bd_warn_root; popupmenu_btnup = that->popupmenu_btnup; grab_input_focus = that->grab_input_focus; textbox_focus_policy = that->textbox_focus_policy; + auto_rotate = that->auto_rotate; forward_render_displacement = that->forward_render_displacement; dvd_yuv420p_interlace = that->dvd_yuv420p_interlace; highlight_inverse = that->highlight_inverse; @@ -316,6 +330,8 @@ void Preferences::scan_channels(char *string, int *channel_positions, int channe } } + +// TODO validation, otherwise corrupted/edited Cinelerra_rc crash app! int Preferences::load_defaults(BC_Hash *defaults) { char string[BCTEXTLEN]; @@ -324,6 +340,8 @@ int Preferences::load_defaults(BC_Hash *defaults) scan_commercials = defaults->get("SCAN_COMMERCIALS", scan_commercials); android_remote = defaults->get("ANDROID_REMOTE", android_remote); android_port = defaults->get("ANDROID_PORT", android_port); + fast_speed = defaults->get("FAST_SPEED", fast_speed); + slow_speed = defaults->get("SLOW_SPEED", slow_speed); defaults->get("ANDROID_PIN", android_pin); defaults->get("INDEX_DIRECTORY", index_directory); index_size = defaults->get("INDEX_SIZE", index_size); @@ -343,11 +361,14 @@ int Preferences::load_defaults(BC_Hash *defaults) layout_scale = defaults->get("LAYOUT_SCALE",layout_scale); vicon_size = defaults->get("VICON_SIZE",vicon_size); vicon_color_mode = defaults->get("VICON_COLOR_MODE",vicon_color_mode); + if (vicon_color_mode > ( MAX_VICON_COLOR_MODE -1 ) || vicon_color_mode <0) vicon_color_mode = 0; strcpy(theme, _(DEFAULT_THEME)); + strcpy(locale, DEFAULT_LOCALE); strcpy(plugin_icons, DEFAULT_PICON); defaults->get("THEME", theme); + defaults->get("LOCALE", locale); defaults->get("PLUGIN_ICONS", plugin_icons); - strcpy(snapshot_path, "/tmp"); + strcpy(snapshot_path, DEFAULT_SNAPSHOT_PATH); defaults->get("SNAPSHOT_PATH", snapshot_path); for( int i=0; iget("USE_HW_DEV", use_hw_dev); warn_indexes = defaults->get("WARN_INDEXES", warn_indexes); - warn_version = defaults->get("WARN_VERSION", warn_version); - warn_stack = defaults->get("WARN_STACK", warn_stack); + unsafe_gui = defaults->get("UNSAFE_GUI", unsafe_gui); + ongoing_backups = defaults->get("ONGOING_BACKUPS", ongoing_backups); warn_fileref = defaults->get("WARN_FILEREF", warn_fileref); bd_warn_root = defaults->get("BD_WARN_ROOT", bd_warn_root); popupmenu_btnup = defaults->get("POPUPMENU_BTNUP", popupmenu_btnup); grab_input_focus = defaults->get("GRAB_FOCUS", grab_input_focus); textbox_focus_policy = defaults->get("TEXTBOX_FOCUS_POLICY", textbox_focus_policy); + auto_rotate = defaults->get("AUTO_ROTATE", auto_rotate); forward_render_displacement = defaults->get("FORWARD_RENDER_DISPLACEMENT", forward_render_displacement); dvd_yuv420p_interlace = defaults->get("DVD_YUV420P_INTERLACE", dvd_yuv420p_interlace); highlight_inverse = defaults->get("HIGHLIGHT_INVERSE", highlight_inverse); yuv_color_space = defaults->get("YUV_COLOR_SPACE", yuv_color_space); + if (yuv_color_space > (MAX_COLOR_SPACE - 1) || yuv_color_space < 0) yuv_color_space = 0; yuv_color_range = defaults->get("YUV_COLOR_RANGE", yuv_color_range); + if (yuv_color_range > (MAX_COLOR_RANGE - 1) || yuv_color_range < 0) yuv_color_range = 0; autocolor_assets = defaults->get("AUTOCOLOR_ASSETS", autocolor_assets); ctrl_toggle = defaults->get("CTRL_TOGGLE", ctrl_toggle); rectify_audio = defaults->get("RECTIFY_AUDIO", rectify_audio); use_brender = defaults->get("USE_BRENDER", use_brender); brender_fragment = defaults->get("BRENDER_FRAGMENT", brender_fragment); cache_size = defaults->get("CACHE_SIZE", cache_size); + cache_transitions = defaults->get("CACHE_TRANSITIONS", cache_transitions); local_rate = defaults->get("LOCAL_RATE", local_rate); use_renderfarm = defaults->get("USE_RENDERFARM", use_renderfarm); renderfarm_port = defaults->get("RENDERFARM_PORT", renderfarm_port); @@ -423,9 +448,11 @@ int Preferences::load_defaults(BC_Hash *defaults) int shbtns_total = defaults->get("SHBTNS_TOTAL", -1); if( shbtns_total < 0 ) { shbtn_prefs.append(new ShBtnPref(_("Current Manual"), "$CIN_BROWSER https://cinelerra-gg.org/download/CinelerraGG_Manual.pdf")); + shbtn_prefs.append(new ShBtnPref(_("HTML Current Manual"), "$CIN_BROWSER https://cinelerra-gg.org/download/CinelerraGG_Manual")); shbtn_prefs.append(new ShBtnPref(_("Setting Shell Commands"), "$CIN_BROWSER file://$CIN_DAT/doc/ShellCmds.html")); shbtn_prefs.append(new ShBtnPref(_("Shortcuts"), "$CIN_BROWSER file://$CIN_DAT/doc/shortcuts.html")); shbtn_prefs.append(new ShBtnPref(_("RenderMux"), "$CIN_DAT/doc/RenderMux.sh")); + shbtn_prefs.append(new ShBtnPref(_("Delete brender files in tmp"), "$CIN_DAT/doc/brender_tmp_delete.sh")); shbtns_total = 0; } for( int i=0; iupdate("ANDROID_REMOTE", android_remote); defaults->update("ANDROID_PIN", android_pin); defaults->update("ANDROID_PORT", android_port); - + defaults->update("SLOW_SPEED", slow_speed); + defaults->update("FAST_SPEED", fast_speed); defaults->update("CACHE_SIZE", cache_size); + defaults->update("CACHE_TRANSITIONS", cache_transitions); defaults->update("INDEX_DIRECTORY", index_directory); defaults->update("INDEX_SIZE", index_size); defaults->update("INDEX_COUNT", index_count); @@ -497,6 +526,7 @@ int Preferences::save_defaults(BC_Hash *defaults) defaults->update("VICON_SIZE",vicon_size); defaults->update("VICON_COLOR_MODE",vicon_color_mode); defaults->update("THEME", theme); + defaults->update("LOCALE", locale); defaults->update("PLUGIN_ICONS", plugin_icons); defaults->update("SNAPSHOT_PATH", snapshot_path); @@ -512,13 +542,14 @@ int Preferences::save_defaults(BC_Hash *defaults) defaults->update("FFMPEG_MARKER_INDEXES", ffmpeg_marker_indexes); defaults->update("USE_HW_DEV", use_hw_dev); defaults->update("WARN_INDEXES", warn_indexes); - defaults->update("WARN_VERSION", warn_version); - defaults->update("WARN_STACK", warn_stack); + defaults->update("UNSAFE_GUI", unsafe_gui); + defaults->update("ONGOING_BACKUPS", ongoing_backups); defaults->update("WARN_FILEREF", warn_fileref); defaults->update("BD_WARN_ROOT", bd_warn_root); defaults->update("POPUPMENU_BTNUP", popupmenu_btnup); defaults->update("GRAB_FOCUS", grab_input_focus); defaults->update("TEXTBOX_FOCUS_POLICY", textbox_focus_policy); + defaults->update("AUTO_ROTATE", auto_rotate); defaults->update("FORWARD_RENDER_DISPLACEMENT", forward_render_displacement); defaults->update("DVD_YUV420P_INTERLACE", dvd_yuv420p_interlace); defaults->update("HIGHLIGHT_INVERSE", highlight_inverse);