4 #include "bezierauto.inc"
5 #include "fadeengine.inc"
6 #include "maskengine.inc"
7 #include "overlayframe.inc"
9 #include "renderengine.inc"
11 #include "virtualnode.h"
12 #include "vrender.inc"
14 class VirtualVNode
: public VirtualNode
17 // construct as a module or a plugin
18 VirtualVNode(RenderEngine
*renderengine
,
19 VirtualConsole
*vconsole
,
23 VirtualNode
*parent_module
,
34 void new_output_buffer();
35 void new_input_buffer();
36 VirtualNode
* create_module(Plugin
*real_plugin
,
39 VirtualNode
* create_plugin(Plugin
*real_plugin
);
40 void arm_attachmentpoint();
42 int render(VFrame
**video_out
, int64_t input_position
);
45 // Pointers to data, whether drive read buffers or temp buffers
51 int render_as_module(VFrame
**video_out
, int64_t input_position
);
52 void render_as_plugin(int64_t input_position
);
54 int render_projector(VFrame
*input
,
56 int64_t real_position
); // Start of input fragment in project if forward. End of input fragment if reverse.
58 int render_fade(VFrame
*input
, // start of input fragment
59 VFrame
*output
, // start of output fragment
60 int64_t input_position
, // start of input fragment in project if forward / end of input fragment if reverse
63 // overlay on the frame with scaling
64 // Alpha values are from 0 to VMAX
65 int transfer_from(VFrame
*frame_out
,
78 VFrame
* get_module_input();
79 VFrame
* get_module_output();
80 OverlayFrame
*overlayer
;