add mask color radio btn sel, fix del all mask btn, fix mask dflt kfrm draw name...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / preferences.C
index 1f6bb04a72a04f7568e4836788d1fd09cb3d3667..8ead6cdc84902562c651029f89b9466fe2bdaaa8 100644 (file)
@@ -86,6 +86,7 @@ Preferences::Preferences()
        project_smp = processors = calculate_processors(0);
        real_processors = calculate_processors(1);
        ffmpeg_marker_indexes = 1;
+       memset(&use_hw_dev, 0, sizeof(use_hw_dev));
        warn_indexes = 1;
        warn_version = 1;
        bd_warn_root = 1;
@@ -205,6 +206,7 @@ void Preferences::copy_from(Preferences *that)
        processors = that->processors;
        real_processors = that->real_processors;
        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;
        bd_warn_root = that->bd_warn_root;
@@ -315,6 +317,7 @@ int Preferences::load_defaults(BC_Hash *defaults)
        defaults->get("INDEX_DIRECTORY", index_directory);
        index_size = defaults->get("INDEX_SIZE", index_size);
        index_count = defaults->get("INDEX_COUNT", index_count);
+       use_thumbnails = defaults->get("USE_THUMBNAILS", use_thumbnails);
        keyframe_reticle = defaults->get("KEYFRAME_RETICLE", keyframe_reticle);
        perpetual_session = defaults->get("PERPETUAL_SESSION", perpetual_session);
        strcpy(lv2_path, DEFAULT_LV2_PATH);
@@ -345,6 +348,8 @@ int Preferences::load_defaults(BC_Hash *defaults)
        project_smp = defaults->get("PROJECT_SMP", project_smp);
        force_uniprocessor = defaults->get("FORCE_UNIPROCESSOR", force_uniprocessor);
        ffmpeg_marker_indexes = defaults->get("FFMPEG_MARKER_INDEXES", ffmpeg_marker_indexes);
+       memset(&use_hw_dev, 0, sizeof(use_hw_dev));
+       defaults->get("USE_HW_DEV", use_hw_dev);
        warn_indexes = defaults->get("WARN_INDEXES", warn_indexes);
        warn_version = defaults->get("WARN_VERSION", warn_version);
        bd_warn_root = defaults->get("BD_WARN_ROOT", bd_warn_root);
@@ -400,12 +405,10 @@ 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(_("Features"), "$CIN_BROWSER file://$CIN_DAT/doc/Features5.pdf", 0));
-               shbtn_prefs.append(new ShBtnPref(_("Online Help"), "$CIN_BROWSER https://cinelerra-cv.org/docs.php", 0));
-               shbtn_prefs.append(new ShBtnPref(_("Original Manual"), "$CIN_BROWSER file://$CIN_DAT/doc/cinelerra.html", 0));
-               shbtn_prefs.append(new ShBtnPref(_("Setting Shell Commands"), "$CIN_BROWSER file://$CIN_DAT/doc/ShellCmds.html", 0));
-               shbtn_prefs.append(new ShBtnPref(_("Shortcuts"), "$CIN_BROWSER file://$CIN_DAT/doc/shortcuts.html", 0));
-               shbtn_prefs.append(new ShBtnPref(_("RenderMux"), "$CIN_DAT/doc/RenderMux.sh",0));
+               shbtn_prefs.append(new ShBtnPref(_("Current Manual"), "$CIN_BROWSER https://cinelerra-gg.org/download/CinelerraGG_manual.pdf"));
+               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"));
                shbtns_total = 0;
        }
        for( int i=0; i<shbtns_total; ++i ) {
@@ -416,7 +419,9 @@ int Preferences::load_defaults(BC_Hash *defaults)
                defaults->get(string, commands);
                sprintf(string, "SHBTN%d_WARN", i);
                int warn = defaults->get(string, 0);
-               shbtn_prefs.append(new ShBtnPref(name, commands, warn));
+               sprintf(string, "SHBTN%d_RUN_SCRIPT", i);
+               int run_script = defaults->get(string, 0);
+               shbtn_prefs.append(new ShBtnPref(name, commands, warn, run_script));
        }
 
        file_probes.remove_all_objects();
@@ -486,6 +491,7 @@ int Preferences::save_defaults(BC_Hash *defaults)
        defaults->update("PROJECT_SMP", project_smp);
        defaults->update("FORCE_UNIPROCESSOR", force_uniprocessor);
        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("BD_WARN_ROOT", bd_warn_root);
@@ -532,6 +538,8 @@ int Preferences::save_defaults(BC_Hash *defaults)
                defaults->update(string, pref->commands);
                sprintf(string, "SHBTN%d_WARN", i);
                defaults->update(string, pref->warn);
+               sprintf(string, "SHBTN%d_RUN_SCRIPT", i);
+               defaults->update(string, pref->run_script);
        }
        defaults->update("FILE_PROBE_TOTAL", file_probes.size());
        for( int i=0; i<file_probes.size(); ++i ) {