4 #include "fadeengine.inc"
5 #include "maskengine.inc"
7 #include "renderengine.inc"
9 #include "virtualnode.h"
10 #include "vrender.inc"
12 class VirtualVNode
: public VirtualNode
15 // construct as a module or a plugin
16 VirtualVNode(RenderEngine
*renderengine
,
17 VirtualConsole
*vconsole
,
21 VirtualNode
*parent_module
);
26 VirtualNode
* create_module(Plugin
*real_plugin
,
29 VirtualNode
* create_plugin(Plugin
*real_plugin
);
30 void arm_attachmentpoint();
32 // Called by VirtualVConsole::process_buffer to process exit nodes.
33 // start_position - end of frame if reverse. start of frame if forward.
34 // frame_rate - rate start_position is relative to
35 int render(VFrame
*output_temp
,
36 int64_t start_position
,
39 // Read data from what comes before this node.
40 int read_data(VFrame
*output_temp
,
41 int64_t start_position
,
45 int render_as_module(VFrame
**video_out
,
47 int64_t start_position
,
49 void render_as_plugin(VFrame
*output_temp
,
50 int64_t start_position
,
53 int render_projector(VFrame
*input
,
55 int64_t start_position
,
56 double frame_rate
); // Start of input fragment in project if forward. End of input fragment if reverse.
58 int render_fade(VFrame
*output
, // start of output fragment
59 int64_t start_position
, // start of input fragment in project if forward / end of input fragment if reverse