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=8ead6cdc84902562c651029f89b9466fe2bdaaa8;hb=HEAD;hpb=f7444a58936e4ab8fa7e7062281567cbc74e175f diff --git a/cinelerra-5.1/cinelerra/preferences.C b/cinelerra-5.1/cinelerra/preferences.C index 8ead6cdc..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,24 +60,29 @@ 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; keyframe_reticle = HAIRLINE_DRAGGING; perpetual_session = 0; strcpy(lv2_path, DEFAULT_LV2_PATH); + strcpy(nested_proxy_path, DEFAULT_NESTED_PROXY_PATH); autostart_lv2ui = 0; trap_sigsegv = 1; trap_sigintr = 1; awindow_picon_h = 50; + layout_scale = 0; // auto scale 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; + renderfarm_consolidate = 0; render_preroll = 0.5; brender_preroll = 0; renderfarm_mountpoint[0] = 0; @@ -88,18 +94,22 @@ Preferences::Preferences() ffmpeg_marker_indexes = 1; memset(&use_hw_dev, 0, sizeof(use_hw_dev)); warn_indexes = 1; - warn_version = 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 brender_asset = new Asset; @@ -119,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; @@ -179,9 +192,11 @@ void Preferences::copy_from(Preferences *that) keyframe_reticle = that->keyframe_reticle; perpetual_session = that->perpetual_session; awindow_picon_h = that->awindow_picon_h; + layout_scale = that->layout_scale; 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); @@ -190,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])); @@ -197,10 +216,12 @@ 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); autostart_lv2ui = that->autostart_lv2ui; + strcpy(nested_proxy_path, that->nested_proxy_path); trap_sigsegv = that->trap_sigsegv; trap_sigintr = that->trap_sigintr; processors = that->processors; @@ -208,11 +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; + 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; @@ -220,6 +244,7 @@ void Preferences::copy_from(Preferences *that) yuv_color_range = that->yuv_color_range; autocolor_assets = that->autocolor_assets; ctrl_toggle = that->ctrl_toggle; + rectify_audio = that->rectify_audio; renderfarm_nodes.remove_all_objects(); renderfarm_ports.remove_all(); renderfarm_enabled.remove_all(); @@ -305,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]; @@ -313,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); @@ -323,17 +352,23 @@ int Preferences::load_defaults(BC_Hash *defaults) strcpy(lv2_path, DEFAULT_LV2_PATH); defaults->get("LV2_PATH", lv2_path); autostart_lv2ui = defaults->get("AUTOSTART_LV2UI", autostart_lv2ui); + strcpy(nested_proxy_path, DEFAULT_NESTED_PROXY_PATH); + defaults->get("NESTED_PROXY_PATH", nested_proxy_path); trap_sigsegv = defaults->get("TRAP_SIGSEGV", trap_sigsegv); trap_sigintr = defaults->get("TRAP_SIGINTR", trap_sigintr); awindow_picon_h = defaults->get("AWINDOW_PICON_H", awindow_picon_h); + 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); + 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); @@ -405,10 +447,12 @@ int Preferences::load_defaults(BC_Hash *defaults) shbtn_prefs.remove_all_objects(); 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(_("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); @@ -472,12 +518,15 @@ int Preferences::save_defaults(BC_Hash *defaults) defaults->update("PERPETUAL_SESSION", perpetual_session); defaults->update("LV2_PATH", lv2_path); defaults->update("AUTOSTART_LV2UI", autostart_lv2ui); + defaults->update("NESTED_PROXY_PATH", nested_proxy_path); defaults->update("TRAP_SIGSEGV", trap_sigsegv); defaults->update("TRAP_SIGINTR", trap_sigintr); defaults->update("AWINDOW_PICON_H", awindow_picon_h); + defaults->update("LAYOUT_SCALE",layout_scale); 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); @@ -493,11 +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("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); @@ -505,6 +557,7 @@ int Preferences::save_defaults(BC_Hash *defaults) defaults->update("YUV_COLOR_RANGE", yuv_color_range); defaults->update("AUTOCOLOR_ASSETS", autocolor_assets); defaults->update("CTRL_TOGGLE", ctrl_toggle); + defaults->update("RECTIFY_AUDIO", rectify_audio); brender_asset->save_defaults(defaults, "BRENDER_", 1, 1, 1, 0, 0); defaults->update("USE_BRENDER", use_brender); defaults->update("BRENDER_FRAGMENT", brender_fragment);