p/s proxy icon, rework window locks, segv in close_mixers + exportedl, ffmpeg default...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / pluginclient.C
index 03e8c3f1e642f43487950ef60b1f213e29a95262..4cab34b513f80b208a14d1a95d848fb430a9ab3a 100644 (file)
@@ -141,22 +141,23 @@ PluginClientFrame::~PluginClientFrame()
 
 
 PluginClientWindow::PluginClientWindow(PluginClient *client,
-       int w,
-       int h,
-       int min_w,
-       int min_h,
-       int allow_resize)
+       int w, int h, int min_w, int min_h, int allow_resize)
  : BC_Window(client->gui_string,
        client->window_x /* - w / 2 */,
        client->window_y /* - h / 2 */,
-       w, h, min_w, min_h, allow_resize, 0, 1)
+       (int)(w*get_resources()->font_scale+0.5), (int)(h*get_resources()->font_scale+0.5),
+       (int)(min_w*get_resources()->font_scale+0.5), (int)(min_h*get_resources()->font_scale+0.5),
+       allow_resize, 0, 1)
 {
        this->client = client;
 }
 
 PluginClientWindow::PluginClientWindow(const char *title,
        int x, int y, int w, int h, int min_w, int min_h, int allow_resize)
- : BC_Window(title, x, y, w, h, min_w, min_h, allow_resize, 0, 1)
+ : BC_Window(title, x, y,
+        (int)(w*get_resources()->font_scale+0.5), (int)(h*get_resources()->font_scale+0.5),
+        (int)(min_w*get_resources()->font_scale+0.5), (int)(min_h*get_resources()->font_scale+0.5),
+       allow_resize, 0, 1)
 {
        this->client = 0;
 }
@@ -730,39 +731,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;