X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fkeyframegui.C;h=74356b54ff0a89aa6986333e19f7bd6b023fe7ea;hp=f590571d8be69916cd24958de728134fd6c8dc9a;hb=b104b77f5296719bd5e6de8472eb71542ddaedec;hpb=12d4e343f31707c899e6e4daa10c68b172433cff diff --git a/cinelerra-5.1/cinelerra/keyframegui.C b/cinelerra-5.1/cinelerra/keyframegui.C index f590571d..74356b54 100644 --- a/cinelerra-5.1/cinelerra/keyframegui.C +++ b/cinelerra-5.1/cinelerra/keyframegui.C @@ -208,7 +208,9 @@ void KeyFrameThread::handle_done_event(int result) { // Apply the preset if( !result ) { + get_gui()->lock_window("KeyFrameThread::handle_done_event"); apply_preset(preset_text, is_factory); + get_gui()->unlock_window(); } } @@ -361,9 +363,16 @@ void KeyFrameThread::apply_preset(const char *title, int is_factory) mwindow->undo->update_undo_before(); #ifdef USE_KEYFRAME_SPANNING - KeyFrame keyframe; - presets_db->load_preset(plugin_title, title, &keyframe, is_factory); - plugin->keyframes->update_parameter(&keyframe); + ArrayList &plugindb = *mwindow->plugindb; + int k = plugindb.size(); + while( --k>=0 && strcmp(plugindb[k]->title, plugin->title) ); + if( k >= 0 ) { + PluginServer server(*plugindb[k]); + server.open_plugin(0, mwindow->preferences, mwindow->edl, plugin); + KeyFrame keyframe(mwindow->edl, plugin->keyframes); + presets_db->load_preset(plugin_title, title, &keyframe, is_factory); + server.apply_keyframe(plugin, &keyframe); + } #else KeyFrame *keyframe = plugin->get_keyframe(); presets_db->load_preset(plugin_title, title, keyframe, is_factory); @@ -466,6 +475,8 @@ KeyFrameWindow::KeyFrameWindow(MWindow *mwindow, KeyFrameThread *thread, { this->mwindow = mwindow; this->thread = thread; +// *** CONTEXT_HELP *** + context_help_set_keyword("Saved Plugin Presets"); } void KeyFrameWindow::create_objects() @@ -819,6 +830,6 @@ int KeyFramePresetsOK::keypress_event() } } } - return 0; + return context_help_check_and_show(); }