X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpluginclient.C;h=aaec69d86e107e92da749a70a46a63b3a7b6d26e;hb=214bd0ba9e21635e03d0c0e2b2ae1a7e9170583c;hp=6af3a3139a00c8fa67617869c84c553407c8a626;hpb=f110e7626d433b4724befe0871a3a35f9f81f264;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/pluginclient.C b/cinelerra-5.1/cinelerra/pluginclient.C index 6af3a313..aaec69d8 100644 --- a/cinelerra-5.1/cinelerra/pluginclient.C +++ b/cinelerra-5.1/cinelerra/pluginclient.C @@ -75,7 +75,7 @@ void PluginClientThread::run() if(client->window_x < 0) client->window_x = info.get_abs_cursor_x(); if(client->window_y < 0) client->window_y = info.get_abs_cursor_y(); if(!window) - window = client->new_window(); + window = (PluginClientWindow*)client->new_window(); if(window) { window->lock_window("PluginClientThread::run"); @@ -91,6 +91,7 @@ void PluginClientThread::run() //printf("PluginClientThread::run %p %d\n", this, __LINE__); window->hide_window(1); window->unlock_window(); + window->done_event(result); // Can't save defaults in the destructor because it's not called immediately // after closing. /* if(client->defaults) */ client->save_defaults_xml(); @@ -336,14 +337,8 @@ int PluginClient::show_gui() thread->start(); thread->init_complete->lock("PluginClient::show_gui"); // Must wait before sending any hide_gui - if(thread->window) - { - thread->window->init_wait(); - } - else - { - return 1; - } + if( !thread->window ) return 1; + thread->window->init_wait(); return 0; } @@ -735,39 +730,29 @@ int PluginClient::get_interpolation_type() float PluginClient::get_red() { - if(server->mwindow) - return server->mwindow->edl->local_session->red; - else - if(server->edl) - return server->edl->local_session->red; - else - return 0; + EDL *edl = server->mwindow ? server->mwindow->edl : server->edl; + return !edl ? 0 : edl->local_session->use_max ? + edl->local_session->red_max : + edl->local_session->red; } float PluginClient::get_green() { - if(server->mwindow) - return server->mwindow->edl->local_session->green; - else - if(server->edl) - return server->edl->local_session->green; - else - return 0; + EDL *edl = server->mwindow ? server->mwindow->edl : server->edl; + return !edl ? 0 : edl->local_session->use_max ? + edl->local_session->green_max : + edl->local_session->green; } float PluginClient::get_blue() { - if(server->mwindow) - return server->mwindow->edl->local_session->blue; - else - if(server->edl) - return server->edl->local_session->blue; - else - return 0; + EDL *edl = server->mwindow ? server->mwindow->edl : server->edl; + return !edl ? 0 : edl->local_session->use_max ? + edl->local_session->blue_max : + edl->local_session->blue; } - int64_t PluginClient::get_source_position() { return source_position;