X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fattachmentpoint.C;h=0d80cb37530364479b870fdaa7c3dcb1531e7c1a;hb=22c6251d37911a11e322bf7518e6a992ea0bb6c7;hp=362a5e1f43e88af652578204398d1a180b11ce3c;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/attachmentpoint.C b/cinelerra-5.1/cinelerra/attachmentpoint.C index 362a5e1f..0d80cb37 100644 --- a/cinelerra-5.1/cinelerra/attachmentpoint.C +++ b/cinelerra-5.1/cinelerra/attachmentpoint.C @@ -38,7 +38,7 @@ AttachmentPoint::AttachmentPoint(RenderEngine *renderengine, { reset_parameters(); this->plugin = plugin; - this->plugin_id = plugin->id; + this->plugin_id = plugin->orig_id; this->renderengine = renderengine; this->data_type = data_type; plugin_server = MWindow::scan_plugindb(plugin->title, @@ -211,13 +211,32 @@ int AttachmentPoint::singlechannel() return 0; } +void AttachmentPoint::reset_gui_frames(PluginServer *server) +{ + if( server != plugin_servers.get(0) ) return; + if( renderengine && renderengine->mwindow ) + renderengine->mwindow->reset_plugin_gui_frames(plugin); +} -void AttachmentPoint::render_gui(void *data, PluginServer *server) +void AttachmentPoint::render_gui_frames(PluginClientFrames *frames, PluginServer *server) { //printf("AttachmentPoint::render_gui 1 %p %p\n", server, plugin_servers.get(0)); void *This = this; if(!This) printf("AttachmentPoint::render_gui 1 NULL\n"); +// Discard if not 1st plugin server, so single channel plugins don't get double GUI updates + if(server != plugin_servers.get(0)) return; + + if(renderengine && renderengine->mwindow) + renderengine->mwindow->render_plugin_gui_frames(frames, plugin); +} + + +void AttachmentPoint::render_gui(void *data, PluginServer *server) +{ + void *This = this; + if(!This) printf("AttachmentPoint::render_gui 2 NULL\n"); + // Discard if not 1st plugin server, so single channel plugins don't get double GUI updates if(server != plugin_servers.get(0)) return; @@ -228,7 +247,7 @@ void AttachmentPoint::render_gui(void *data, PluginServer *server) void AttachmentPoint::render_gui(void *data, int size, PluginServer *server) { void *This = this; - if(!This) printf("AttachmentPoint::render_gui 2 NULL\n"); + if(!This) printf("AttachmentPoint::render_gui 3 NULL\n"); // Discard if not 1st plugin server, so single channel plugins don't get double GUI updates if(server != plugin_servers.get(0)) return; @@ -237,6 +256,7 @@ void AttachmentPoint::render_gui(void *data, int size, PluginServer *server) renderengine->mwindow->render_plugin_gui(data, size, plugin); } + int AttachmentPoint::gui_open() { if(renderengine && renderengine->mwindow)