olaf neophyte and de.po updates, valgrind tweaks, delete green lady, inkscape dpi=96
[goodguy/history.git] / cinelerra-5.1 / cinelerra / virtualvnode.C
index f8c032a16715a02b0fb1ea4cb15a1a36b25e2bb4..bd32638c35e5ba5ad4f41fc34c519a9ee7c81c4e 100644 (file)
@@ -203,7 +203,8 @@ int VirtualVNode::render_as_module(VFrame *video_out,
        int64_t start_position_project = (int64_t)(start_position *
                edl_rate /
                frame_rate);
-       if(direction == PLAY_REVERSE) start_position_project--;
+       if(direction == PLAY_REVERSE && start_position_project > 0 )
+               start_position_project--;
 
 
 // speed curve
@@ -263,12 +264,6 @@ int VirtualVNode::render_as_module(VFrame *video_out,
 //printf("VirtualVNode::render_as_module\n");
 //output_temp->dump_stacks();
 
-       Edit *edit = 0;
-       if(renderengine->show_tc)
-               renderengine->vrender->insert_timecode(edit,
-                       start_position,
-                       output_temp);
-
        return 0;
 }
 
@@ -357,7 +352,7 @@ void VirtualVNode::render_mask(VFrame *output_temp,
                if( !((VDeviceX11*)((VirtualVConsole*)vconsole)->get_vdriver())->can_mask(
                                start_position_project, keyframe_set) )
                        use_opengl = 0;
-                       
+
        }
        if(use_opengl) {
                ((VDeviceX11*)((VirtualVConsole*)vconsole)->get_vdriver())->do_mask(
@@ -372,7 +367,7 @@ void VirtualVNode::render_mask(VFrame *output_temp,
 }
 
 
-// Start of input fragment in project if forward.  
+// Start of input fragment in project if forward.
 // End of input fragment if reverse.
 int VirtualVNode::render_projector(VFrame *input, VFrame *output,
                        int64_t start_position, double frame_rate,
@@ -381,12 +376,12 @@ int VirtualVNode::render_projector(VFrame *input, VFrame *output,
        float in_x1, in_y1, in_x2, in_y2;
        float out_x1, out_y1, out_x2, out_y2;
        double edl_rate = renderengine->get_edl()->session->frame_rate;
-       int64_t start_position_project = (int64_t)(start_position * 
+       int64_t start_position_project = (int64_t)(start_position *
                edl_rate /
                frame_rate);
        VRender *vrender = ((VirtualVConsole*)vconsole)->vrender;
-       if(vconsole->debug_tree) 
-               printf("  VirtualVNode::render_projector input=%p output=%p cmodel=%d title=%s\n", 
+       if(vconsole->debug_tree)
+               printf("  VirtualVNode::render_projector input=%p output=%p cmodel=%d title=%s\n",
                        input, output, output->get_color_model(), track->title);
 
        if(output)
@@ -402,8 +397,8 @@ int VirtualVNode::render_projector(VFrame *input, VFrame *output,
 
 //for(int j = 0; j < input->get_w() * 3 * 5; j++)
 //     input->get_rows()[0][j] = 255;
-// 
-               if(out_x2 > out_x1 && out_y2 > out_y1 && 
+//
+               if(out_x2 > out_x1 && out_y2 > out_y1 &&
                        in_x2 > in_x1 && in_y2 > in_y1)
                {
                        Auto *auto_keyframe = 0;
@@ -425,24 +420,19 @@ int VirtualVNode::render_projector(VFrame *input, VFrame *output,
 
                        if(use_opengl)
                        {
-// Nested EDL's overlay on a PBuffer instead of a screen
-// is_nested < 0 ? flatten alpha channel, last draw before driver render
-                               int is_nested = renderengine->is_nested ? 1 :
-                                       vconsole->current_exit_node == 0 ? -1 : 0;
                                ((VDeviceX11*)((VirtualVConsole*)vconsole)->get_vdriver())->overlay(
                                        output, input,
                                        in_x1, in_y1, in_x2, in_y2,
-                                       out_x1, out_y1, out_x2, out_y2, 
-                                       alpha, mode, 
-                                       renderengine->get_edl(),
-                                       is_nested);
+                                       out_x1, out_y1, out_x2, out_y2,
+                                       alpha, mode, renderengine->get_edl(),
+                                       renderengine->is_nested);
                        }
                        else
                        {
                                vrender->overlayer->overlay(output, input,
                                        in_x1, in_y1, in_x2, in_y2,
-                                       out_x1, out_y1, out_x2, out_y2, 
-                                       alpha, mode, 
+                                       out_x1, out_y1, out_x2, out_y2,
+                                       alpha, mode,
                                        renderengine->get_edl()->session->interpolation_type);
                        }
                }