X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpreferencesthread.C;h=c0a78d2a1014d28e025f861e4ed2f0db09ef5752;hp=9cca7fa56ec73eb89895ab442c671152fb4b4fd5;hb=502b6f3b6fd04f6b01c6d70dcb81aa304dd0db1c;hpb=667ff598ae2a94f48c7056aee1d77d7cde39066b diff --git a/cinelerra-5.1/cinelerra/preferencesthread.C b/cinelerra-5.1/cinelerra/preferencesthread.C index 9cca7fa5..c0a78d2a 100644 --- a/cinelerra-5.1/cinelerra/preferencesthread.C +++ b/cinelerra-5.1/cinelerra/preferencesthread.C @@ -32,6 +32,7 @@ #include "bchash.h" #include "edl.h" #include "edlsession.h" +#include "file.h" #include "filesystem.h" #include "fonts.h" #include "interfaceprefs.h" @@ -211,21 +212,37 @@ int PreferencesThread::apply_settings() (*this_aconfig != *aconfig) || (*this_vconfig != *vconfig) || !preferences->brender_asset->equivalent(*mwindow->preferences->brender_asset, 0, 1, edl); + if( preferences->yuv_color_space != mwindow->preferences->yuv_color_space || + preferences->yuv_color_range != mwindow->preferences->yuv_color_range ) { + YUV::yuv.yuv_set_colors( + preferences->yuv_color_space, + preferences->yuv_color_range); + rerender = 1; + } + if( preferences->highlight_inverse != mwindow->preferences->highlight_inverse ) { mwindow->gui->lock_window("PreferencesThread::apply_settings 0"); mwindow->gui->hide_cursor(0); mwindow->gui->unlock_window(); redraw_overlays = 1; } + PreferencesWindow *window = (PreferencesWindow*)get_gui(); + if( window ) window->unlock_window(); + mwindow->init_brender(); + if( window ) window->lock_window("PreferencesThread::apply_settings 5"); if( strcmp(preferences->theme, mwindow->preferences->theme) != 0 ) mwindow->restart_status = -1; // reload, need new bcresources if( strcmp(preferences->plugin_icons, mwindow->preferences->plugin_icons) != 0 ) mwindow->restart_status = -1; + if( strcmp(preferences->lv2_path, mwindow->preferences->lv2_path) != 0 ) { + MWindow::remove_plugin_index(); + File::setenv_path("LV2_PATH", preferences->lv2_path, 1); + mwindow->restart_status = -1; + } mwindow->edl->copy_session(edl, 1); mwindow->preferences->copy_from(preferences); - mwindow->init_brender(); BC_Signals::set_catch_segv(mwindow->preferences->trap_sigsegv); BC_Signals::set_catch_intr(mwindow->preferences->trap_sigintr); @@ -240,7 +257,7 @@ int PreferencesThread::apply_settings() } mwindow->reset_android_remote(); - int ffmpeg_early_probe = mwindow->preferences->get_file_probe_armed("FFPMEG_Early"); + int ffmpeg_early_probe = mwindow->preferences->get_file_probe_armed("FFMPEG_Early"); mwindow->gui->ffmpeg_toggle->update(ffmpeg_early_probe); mwindow->gui->ffmpeg_toggle->set_tooltip(ffmpeg_early_probe ? FFMPEG_EARLY_TIP : FFMPEG_LATE_TIP); @@ -623,6 +640,7 @@ PreferencesApply::PreferencesApply(MWindow *mwindow, PreferencesThread *thread) int PreferencesApply::handle_event() { thread->apply_settings(); + mwindow->save_defaults(); return 1; } int PreferencesApply::resize_event(int w, int h)