5 #include "commonrender.h"
8 #include "renderengine.inc"
12 class VRender
: public CommonRender
15 VRender(RenderEngine
*renderengine
);
16 VRender(MWindow
*mwindow
, RenderEngine
*renderengine
);
19 VirtualConsole
* new_vconsole_object();
20 int get_total_tracks();
21 Module
* new_module(Track
*track
);
23 // set up and start thread
24 int arm_playback(int64_t current_position
,
26 int64_t module_render_fragment
,
27 int64_t playback_buffer
,
34 int wait_for_startup();
36 int start_playback(); // start the thread
38 // get data type for certain commonrender routines
41 // process frames to put in buffer_out
42 int process_buffer(VFrame
**video_out
,
43 int64_t input_position
,
45 // load an array of buffers for each track to send to the thread
46 int process_buffer(int64_t input_position
);
47 // Flash the output on the display
49 // Determine if data can be copied directly from the file to the output device.
50 void VRender::get_render_strategy(Edit
* &playable_edit
,
54 int get_use_vconsole(Edit
* &playable_edit
,
56 int &get_use_vconsole
);
57 int get_colormodel(Edit
* &playable_edit
,
61 int64_t tounits(double position
, int round
);
62 double fromunits(int64_t position
);
64 // frames since start of playback
65 int64_t session_frame
;
69 // video device dimensions
70 int output_w
, output_h
;
71 // frames to send to console fragment
72 int64_t vmodule_render_fragment
;
73 // frames to send to video device (1)
74 int64_t playback_buffer
;
76 VFrame
*video_out
[MAX_CHANNELS
];
77 // Byte offset of video_out
78 int64_t output_offset
;
81 int64_t source_length
; // Total number of frames to render for transitions
84 int init_device_buffers();
87 // for getting actual framerate
88 int64_t framerate_counter
;
89 Timer framerate_timer
;