+ if( !client ) return;
+ client->plugin_render_gui(data, size);
+}
+
+
+PluginGUIs::PluginGUIs(MWindow *mwindow)
+{
+ this->mwindow = mwindow;
+}
+PluginGUIs::~PluginGUIs()
+{
+}
+
+void PluginGUIs::append(PluginServer *server)
+{
+ server->gui_id = EDL::next_id();
+ ArrayList<PluginServer*>::append(server);
+}
+
+PluginServer *PluginGUIs::gui_server(int gui_id)
+{
+ for( int i=0; i<size(); ++i ) {
+ PluginServer *plugin_server = get(i);
+ if( plugin_server->gui_id == gui_id )
+ return plugin_server;
+ }
+ return 0;
+}
+
+
+void PluginServer::reset_gui_frames()
+{
+ Plugin *plugin = edl->tracks->plugin_exists(plugin_id);
+ if( plugin )
+ mwindow->reset_plugin_gui_frames(plugin);
+}
+
+void PluginServer::reset_plugin_gui_frames()
+{
+ if( !client ) return;
+ client->plugin_reset_gui_frames();
+}
+
+void PluginServer::render_gui_frames(PluginClientFrames *frames)
+{
+ Plugin *plugin = edl->tracks->plugin_exists(plugin_id);
+ if( plugin )
+ mwindow->render_plugin_gui_frames(frames, plugin);
+}
+
+void PluginServer::render_plugin_gui_frames(PluginClientFrames *frames)
+{
+ if( !client ) return;
+ client->plugin_render_gui_frames(frames);