record batch dir path fix, handle yuv in gl masking, sync up maskengine/playback3d...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / virtualvnode.C
index bd32638c35e5ba5ad4f41fc34c519a9ee7c81c4e..20efff4268d4adbe0b535bf14ded81757415ce60 100644 (file)
@@ -64,14 +64,14 @@ VirtualVNode::VirtualVNode(RenderEngine *renderengine,
                track, parent_node)
 {
        //VRender *vrender = ((VirtualVConsole*)vconsole)->vrender;
-       fader = new FadeEngine(renderengine->preferences->processors);
+       //fader = new FadeEngine(renderengine->preferences->processors);
        masker = new MaskEngine(renderengine->preferences->processors);
        alpha = 1;
 }
 
 VirtualVNode::~VirtualVNode()
 {
-       delete fader;
+       //delete fader;
        delete masker;
 }
 
@@ -324,30 +324,15 @@ void VirtualVNode::render_mask(VFrame *output_temp,
        MaskAuto *keyframe = (MaskAuto*)keyframe_set->
                get_prev_auto(start_position_project, PLAY_FORWARD, current);
        if( keyframe->apply_before_plugins ) return;
-
-       int total_points = 0;
-       for(int i = 0; i < keyframe->masks.total; i++)
-       {
-               SubMask *mask = keyframe->get_submask(i);
-               int submask_points = mask->points.total;
-               if(submask_points > 1) total_points += submask_points;
-       }
-
-//printf("VirtualVNode::render_mask 1 %d %d\n", total_points, keyframe->value);
-// Ignore certain masks
-       if(total_points <= 2 ||
-               (keyframe->value == 0 && keyframe->mode == MASK_SUBTRACT_ALPHA))
-       {
-               return;
-       }
-
+       if( !keyframe->has_active_mask() ) return;
+/*
 // Fake certain masks
        if(keyframe->value == 0 && keyframe->mode == MASK_MULTIPLY_ALPHA)
        {
                output_temp->clear_frame();
                return;
        }
-
+*/
        if(use_opengl) {
                if( !((VDeviceX11*)((VirtualVConsole*)vconsole)->get_vdriver())->can_mask(
                                start_position_project, keyframe_set) )