#include <arender.h>
Inherits CommonRender.

Public Member Functions | |
| ARender (RenderEngine *renderengine) | |
| ~ARender () | |
| void | arm_command () |
| void | init_output_buffers () |
| VirtualConsole * | new_vconsole_object () |
| int | get_total_tracks () |
| Module * | new_module (Track *track) |
| int | arm_playback (int64_t current_position, int64_t input_length, int64_t module_render_fragment, int64_t playback_buffer, int64_t output_length) |
| int | wait_for_startup () |
| int64_t | tounits (double position, int round) |
| double | fromunits (int64_t position) |
| void | run () |
| int | calculate_history_size () |
| int | get_history_number (int64_t *table, int64_t position) |
| int | get_next_peak (int current_peak) |
| int | get_datatype () |
| int | process_buffer (double **buffer_out, int64_t input_len, int64_t input_position, int last_buffer) |
| int | process_buffer (int64_t input_len, int64_t input_position) |
| void | send_last_buffer () |
| int | wait_device_completion () |
| int | reverse_buffer (double *buffer, int64_t len) |
| int | swap_current_buffer () |
| int64_t | get_render_length (int64_t current_render_length) |
Data Fields | |
| double * | audio_out [MAXCHANNELS] |
| int64_t | meter_render_fragment |
| double * | level_history [MAXCHANNELS] |
| int64_t * | level_samples |
| int | total_peaks |
| int | current_level [MAXCHANNELS] |
| int | first_buffer |
| int64_t | source_length |
Private Member Functions | |
| int | init_meters () |
Private Attributes | |
| int64_t | session_position |
Definition at line 8 of file arender.h.
| ARender::ARender | ( | RenderEngine * | renderengine | ) |
Definition at line 25 of file arender.C.
References audio_out, CommonRender::data_type, level_history, level_samples, MAXCHANNELS, total_peaks, and TRACK_AUDIO.
| ARender::~ARender | ( | ) |
Definition at line 40 of file arender.C.
References audio_out, level_history, level_samples, and MAXCHANNELS.
| void ARender::arm_command | ( | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 50 of file arender.C.
References CommonRender::arm_command(), CommonRender::asynchronous, calculate_history_size(), and init_meters().
Referenced by RenderEngine::arm_render_threads().

| void ARender::init_output_buffers | ( | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 116 of file arender.C.
References RenderEngine::adjusted_fragment_len, audio_out, RenderEngine::command, MAXCHANNELS, TransportCommand::realtime, and CommonRender::renderengine.
| VirtualConsole * ARender::new_vconsole_object | ( | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 135 of file arender.C.
References CommonRender::renderengine.
| int ARender::get_total_tracks | ( | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 60 of file arender.C.
References RenderEngine::edl, CommonRender::renderengine, Tracks::total_audio_tracks(), and EDL::tracks.

Reimplemented from CommonRender.
Definition at line 65 of file arender.C.
References CommonRender::renderengine.
| int ARender::arm_playback | ( | int64_t | current_position, | |
| int64_t | input_length, | |||
| int64_t | module_render_fragment, | |||
| int64_t | playback_buffer, | |||
| int64_t | output_length | |||
| ) |
Definition at line 343 of file arender.C.
References RenderEngine::command, RenderEngine::edl, RenderEngine::end_position, init_meters(), EDLSession::real_time_playback, TransportCommand::realtime, CommonRender::renderengine, EDL::session, session_position, Thread::set_realtime(), Thread::set_synchronous(), source_length, Thread::start(), and RenderEngine::start_position.
Referenced by RenderEngine::arm_playback_audio().

| int ARender::wait_for_startup | ( | ) |
| int64_t ARender::tounits | ( | double | position, | |
| int | round | |||
| ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 140 of file arender.C.
References RenderEngine::edl, CommonRender::renderengine, Units::round(), EDLSession::sample_rate, and EDL::session.

| double ARender::fromunits | ( | int64_t | position | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 148 of file arender.C.
References RenderEngine::edl, CommonRender::renderengine, EDLSession::sample_rate, and EDL::session.
| void ARender::run | ( | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 252 of file arender.C.
References CommonRender::advance_position(), RenderEngine::audio, RenderEngine::command, AudioDevice::current_position(), CommonRender::current_position, RenderEngine::do_video, CommonRender::done, RenderEngine::edl, first_buffer, RenderEngine::fragment_len, CommonRender::get_boundaries(), TransportCommand::get_direction(), get_render_length(), TransportCommand::get_speed(), VirtualConsole::interrupt, CommonRender::interrupt, CommonRender::last_playback, RenderEngine::playback_engine, TransportCommand::playbackstart, process_buffer(), TransportCommand::realtime, CommonRender::renderengine, CommonRender::restart_playback(), EDLSession::sample_rate, send_last_buffer(), EDL::session, CommonRender::start_lock, CommonRender::stop_plugins(), VirtualConsole::stop_rendering(), VirtualConsole::test_reconfigure(), Condition::unlock(), PlaybackEngine::update_tracking(), CommonRender::vconsole, and wait_device_completion().

| int ARender::calculate_history_size | ( | ) |
Definition at line 70 of file arender.C.
References RenderEngine::edl, RenderEngine::fragment_len, meter_render_fragment, CommonRender::renderengine, EDLSession::sample_rate, EDL::session, and total_peaks.
Referenced by arm_command(), and init_meters().
| int ARender::get_history_number | ( | int64_t * | table, | |
| int64_t | position | |||
| ) |
Definition at line 220 of file arender.C.
References total_peaks.
Referenced by RenderEngine::get_module_levels(), and RenderEngine::get_output_levels().
| int ARender::get_next_peak | ( | int | current_peak | ) |
Definition at line 403 of file arender.C.
References total_peaks.
Referenced by VirtualAConsole::process_buffer(), and VirtualANode::render_as_module().
| int ARender::get_datatype | ( | ) | [virtual] |
| int ARender::process_buffer | ( | double ** | buffer_out, | |
| int64_t | input_len, | |||
| int64_t | input_position, | |||
| int | last_buffer | |||
| ) |
Definition at line 154 of file arender.C.
References audio_out, CommonRender::current_position, CommonRender::last_playback, MAXCHANNELS, CommonRender::restart_playback(), VirtualConsole::test_reconfigure(), and CommonRender::vconsole.
Referenced by PackageRenderer::do_audio(), and run().

| int ARender::process_buffer | ( | int64_t | input_len, | |
| int64_t | input_position | |||
| ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 206 of file arender.C.
References CommonRender::last_playback, session_position, and CommonRender::vconsole.
| void ARender::send_last_buffer | ( | ) |
Definition at line 240 of file arender.C.
References RenderEngine::audio, CommonRender::renderengine, and AudioDevice::set_last_buffer().
Referenced by run().

| int ARender::wait_device_completion | ( | ) | [virtual] |
Reimplemented from CommonRender.
Definition at line 245 of file arender.C.
References RenderEngine::audio, CommonRender::renderengine, and AudioDevice::wait_for_completion().
Referenced by run().

| int ARender::reverse_buffer | ( | double * | buffer, | |
| int64_t | len | |||
| ) |
Definition at line 390 of file arender.C.
References Thread::end(), and Thread::start().

| int ARender::swap_current_buffer | ( | ) |
| int64_t ARender::get_render_length | ( | int64_t | current_render_length | ) | [virtual] |
| int ARender::init_meters | ( | ) | [private] |
Definition at line 88 of file arender.C.
References audio_out, calculate_history_size(), current_level, level_history, level_samples, MAXCHANNELS, and total_peaks.
Referenced by arm_command(), and arm_playback().

| double* ARender::audio_out[MAXCHANNELS] |
Definition at line 38 of file arender.h.
Referenced by ARender(), RenderEngine::get_output_levels(), init_meters(), init_output_buffers(), VirtualAConsole::process_buffer(), process_buffer(), VirtualANode::render(), and ~ARender().
| int64_t ARender::meter_render_fragment |
Definition at line 42 of file arender.h.
Referenced by calculate_history_size(), VirtualAConsole::process_buffer(), and VirtualANode::render_as_module().
| double* ARender::level_history[MAXCHANNELS] |
Definition at line 44 of file arender.h.
Referenced by ARender(), RenderEngine::get_output_levels(), init_meters(), VirtualAConsole::process_buffer(), and ~ARender().
| int64_t* ARender::level_samples |
Definition at line 46 of file arender.h.
Referenced by ARender(), RenderEngine::get_output_levels(), init_meters(), VirtualAConsole::process_buffer(), and ~ARender().
Definition at line 48 of file arender.h.
Referenced by ARender(), calculate_history_size(), get_history_number(), get_next_peak(), and init_meters().
| int ARender::current_level[MAXCHANNELS] |
Definition at line 50 of file arender.h.
Referenced by init_meters(), and VirtualAConsole::process_buffer().
Definition at line 52 of file arender.h.
Referenced by VirtualAConsole::process_buffer(), and run().
| int64_t ARender::source_length |
int64_t ARender::session_position [private] |
1.5.5