X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fkeyframegui.C;h=fb7de36f93d32e6f118e52313b2b430235a21c1a;hb=26d01a213db5d4f6ee57224cc9a9ea37bd74318c;hp=61a0b052aa3cdf34f74eebedfa76984b61dd4a2d;hpb=1529091cdf16df199a901aabe6e8fa1813a933af;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/keyframegui.C b/cinelerra-5.1/cinelerra/keyframegui.C index 61a0b052..fb7de36f 100644 --- a/cinelerra-5.1/cinelerra/keyframegui.C +++ b/cinelerra-5.1/cinelerra/keyframegui.C @@ -363,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);