rework audio import_samples + resample + playback speed sampling, fix clear_boarder...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / canvas.C
index 850177b43bbb8af90ce847e0a2921743614f9d79..410145f04817c079fb53f7aa7bb8b8032ca79e94 100644 (file)
@@ -165,7 +165,7 @@ float Canvas::get_x_offset(EDL *edl, int single_channel,
        int canvas_h = get_canvas()->get_h(), out_h = canvas_h;
        float conformed_ratio = conformed_w/conformed_h;
        if( (float)out_w/out_h > conformed_ratio )
-               out_w = out_h * conformed_ratio + 0.5;
+               out_w = out_h * conformed_ratio + 0.5f;
        float ret = out_w >= canvas_w ? 0 : -0.5f*(canvas_w - out_w) / zoom_x;
        return ret;
 }
@@ -767,16 +767,22 @@ void Canvas::clear_borders(EDL *edl)
 {
        BC_WindowBase *window = get_canvas();
        if( !window ) return;
-
        int window_w = window->get_w();
        int window_h = window->get_h();
+       int color = get_clear_color();
+       window->set_color(color);
+
+       if( !edl ) {
+               window->draw_box(0, 0, window_w, window_h);
+               window->flash(0);
+               return;
+       }
+
        float output_x1,output_y1, output_x2,output_y2;
        float canvas_x1,canvas_y1, canvas_x2,canvas_y2;
        get_transfers(edl,
                output_x1, output_y1, output_x2, output_y2,
                canvas_x1, canvas_y1, canvas_x2, canvas_y2);
-       int color = get_clear_color();
-       window->set_color(color);
 
        if( canvas_y1 > 0 ) {
                window->draw_box(0, 0, window_w, canvas_y1);