4 #include "bezierauto.inc"
5 #include "fadeengine.inc"
6 #include "maskengine.inc"
8 #include "renderengine.inc"
10 #include "virtualnode.h"
11 #include "vrender.inc"
13 class VirtualVNode
: public VirtualNode
16 // construct as a module or a plugin
17 VirtualVNode(RenderEngine
*renderengine
,
18 VirtualConsole
*vconsole
,
22 VirtualNode
*parent_module
);
27 VirtualNode
* create_module(Plugin
*real_plugin
,
30 VirtualNode
* create_plugin(Plugin
*real_plugin
);
31 void arm_attachmentpoint();
33 // Called by VirtualVConsole::process_buffer to process exit nodes.
34 // start_position - end of frame if reverse. start of frame if forward.
35 // frame_rate - rate start_position is relative to
36 int render(VFrame
*output_temp
,
37 int64_t start_position
,
40 // Read data from what comes before this node.
41 int read_data(VFrame
*output_temp
,
42 int64_t start_position
,
46 int render_as_module(VFrame
**video_out
,
48 int64_t start_position
,
50 void render_as_plugin(VFrame
*output_temp
,
51 int64_t start_position
,
54 int render_projector(VFrame
*input
,
56 int64_t start_position
,
57 double frame_rate
); // Start of input fragment in project if forward. End of input fragment if reverse.
59 int render_fade(VFrame
*output
, // start of output fragment
60 int64_t start_position
, // start of input fragment in project if forward / end of input fragment if reverse