hard edges rework, add hard edge in gwdw, config.ac nv/cuda tweaks, message log warn...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / C41 / c41.C
index b8a6cb57b0d58341247210defa80402b47a19f3f..b16f0145b53ef60608c0914c86b03f2e547ae1ac 100644 (file)
@@ -20,6 +20,7 @@
 #include "c41.h"
 #include "bccolors.h"
 #include "clip.h"
+#include "edl.h"
 #include "edlsession.h"
 #include "filexml.h"
 #include "language.h"
@@ -187,13 +188,13 @@ int C41BoxButton::handle_event()
 
 C41Slider::C41Slider(C41Effect *plugin, int *output, int x, int y, int is_row)
  : BC_ISlider(x, y, 0, 200, 200, 0, is_row ?
-       plugin->get_edlsession()->output_h :
-       plugin->get_edlsession()->output_w , *output)
+       plugin->get_edl()->session->output_h :
+       plugin->get_edl()->session->output_w , *output)
 {
        this->plugin = plugin;
        this->output = output;
        this->is_row = is_row;
-       EDLSession *session = plugin->get_edlsession();
+       EDLSession *session = plugin->get_edl()->session;
        this->max = is_row ? session->output_h : session->output_w;
 }
 
@@ -206,7 +207,7 @@ int C41Slider::handle_event()
 
 int C41Slider::update(int v)
 {
-       EDLSession *session = plugin->get_edlsession();
+       EDLSession *session = plugin->get_edl()->session;
        int max = is_row ? session->output_h : session->output_w;
        bclamp(v, 0, max);
        if( this->max != max ) return BC_ISlider::update(200, v, 0, this->max = max);
@@ -227,8 +228,12 @@ C41Window::C41Window(C41Effect *plugin)
        plugin->config.window_w, plugin->config.window_h,
        500, 510, 1)
 {
-       int x = 10, y = 10;
+}
 
+void C41Window::create_objects()
+{
+       int x = 10, y = 10;
+       C41Effect *plugin = (C41Effect *)client;
        add_subwindow(active = new C41Enable(plugin,
                &plugin->config.active, x, y, _("Activate processing")));
        y += 40;
@@ -798,7 +803,7 @@ int C41Effect::process_realtime(VFrame *input, VFrame *output)
        }
 
        if( config.show_box ) {
-               EDLSession *session = get_edlsession();
+               EDLSession *session = get_edl()->session;
                int line_w = bmax(session->output_w,session->output_h) / 600 + 1;
                for( int k=0; k<line_w; ++k ) {
                        float **rows = (float **)frame->get_rows();