4 #include "commonrender.h"
8 #include "overlayframe.inc"
9 #include "renderengine.inc"
13 class VRender
: public CommonRender
16 VRender(RenderEngine
*renderengine
);
17 VRender(MWindow
*mwindow
, RenderEngine
*renderengine
);
20 VirtualConsole
* new_vconsole_object();
21 int get_total_tracks();
22 Module
* new_module(Track
*track
);
24 // set up and start thread
25 int arm_playback(int64_t current_position
,
27 int64_t module_render_fragment
,
28 int64_t playback_buffer
,
35 int wait_for_startup();
37 int start_playback(); // start the thread
39 // get data type for certain commonrender routines
42 // process frames to put in buffer_out
43 int process_buffer(VFrame
**video_out
,
44 int64_t input_position
,
46 // load an array of buffers for each track to send to the thread
47 int process_buffer(int64_t input_position
);
48 // Flash the output on the display
50 // Determine if data can be copied directly from the file to the output device.
51 void VRender::get_render_strategy(Edit
* &playable_edit
,
55 int get_use_vconsole(Edit
* &playable_edit
,
57 int &get_use_vconsole
);
58 int get_colormodel(Edit
* &playable_edit
,
61 int insert_timecode(Edit
* &playable_edit
,
65 int64_t tounits(double position
, int round
);
66 double fromunits(int64_t position
);
68 // frames since start of playback
69 int64_t session_frame
;
73 // video device dimensions
74 int output_w
, output_h
;
75 // frames to send to console fragment
76 int64_t vmodule_render_fragment
;
77 // frames to send to video device (1)
78 int64_t playback_buffer
;
80 VFrame
*video_out
[MAX_CHANNELS
];
81 // Byte offset of video_out
82 int64_t output_offset
;
84 // Temp frame for VModule loading
86 // Temp frame for VModule transitions
87 VFrame
*transition_temp
;
88 // Engine for camera and projector automation
89 OverlayFrame
*overlayer
;
93 // Total number of frames to render for transitions
94 int64_t source_length
;
96 // Flag first frame to unlock audio
100 int init_device_buffers();
103 // for getting actual framerate
104 int64_t framerate_counter
;
105 Timer framerate_timer
;