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 get_render_strategy(Edit
* &playable_edit
,
57 int get_use_vconsole(Edit
* &playable_edit
,
59 int &get_use_vconsole
);
60 int get_colormodel(Edit
* &playable_edit
,
63 int insert_timecode(Edit
* &playable_edit
,
67 int64_t tounits(double position
, int round
);
68 double fromunits(int64_t position
);
70 // frames since start of playback
71 int64_t session_frame
;
75 // video device dimensions
76 int output_w
, output_h
;
77 // frames to send to console fragment
78 int64_t vmodule_render_fragment
;
79 // frames to send to video device (1)
80 int64_t playback_buffer
;
83 // Byte offset of video_out
84 int64_t output_offset
;
86 // Temp frame for VModule loading
88 // Temp frame for VModule transitions
89 VFrame
*transition_temp
;
90 // Engine for camera and projector automation
91 OverlayFrame
*overlayer
;
95 // Total number of frames to render for transitions
96 int64_t source_length
;
98 // Flag first frame to unlock audio
102 int init_device_buffers();
105 // for getting actual framerate
106 int64_t framerate_counter
;
107 Timer framerate_timer
;