#include <recordaudio.h>
Inherits Thread.

Public Member Functions | |
| RecordAudio (MWindow *mwindow, Record *record, RecordThread *record_thread) | |
| ~RecordAudio () | |
| void | run () |
| int | arm_recording () |
| void | start_recording () |
| int | stop_recording () |
| void | rewind_file () |
| void | finish_loop () |
| void | finish_timed () |
| void | reset_parameters () |
| int | set_position (int64_t position) |
| int64_t | sync_position () |
| void | write_buffer (int skip_new=0) |
Data Fields | |
| int | batch_done |
Private Attributes | |
| MWindow * | mwindow |
| Record * | record |
| RecordThread * | record_thread |
| double * | max |
| int * | over |
| double ** | input |
| RecordGUI * | gui |
| int | buffer_size |
| int | fragment_size |
| int64_t | fragment_position |
| int | record_channels |
| Mutex * | timer_lock |
| Condition * | trigger_lock |
| Timer | timer |
| int | write_result |
| int | grab_result |
Definition at line 16 of file recordaudio.h.
| RecordAudio::RecordAudio | ( | MWindow * | mwindow, | |
| Record * | record, | |||
| RecordThread * | record_thread | |||
| ) |
Definition at line 28 of file recordaudio.C.
References fragment_position, gui, Record::record_gui, timer_lock, and trigger_lock.
| RecordAudio::~RecordAudio | ( | ) |
| void RecordAudio::run | ( | ) | [virtual] |
Implements Thread.
Definition at line 87 of file recordaudio.C.
References _, Record::adevice, batch_done, buffer_size, Record::current_display_position(), Record::current_duration(), Batch::current_sample, Record::default_asset, Record::file, fragment_position, fragment_size, BC_WindowBase::get_abs_cursor_x(), BC_WindowBase::get_abs_cursor_y(), File::get_audio_buffer(), Record::get_current_batch(), grab_result, MWindow::gui, gui, input, Mutex::lock(), Condition::lock(), BC_WindowBase::lock_window(), MAX, max, MeterPanel::meters, RecordMonitorGUI::meters, RecordThread::monitor, Record::monitor_audio, mwindow, over, AudioDevice::read_buffer(), record, record_channels, Batch::record_mode, Record::record_monitor, record_thread, BC_Meter::reset(), Batch::session_samples, timer, timer_lock, RecordGUI::total_clipped_samples, Batch::total_samples, TRACE, trigger_lock, Mutex::unlock(), Condition::unlock(), BC_WindowBase::unlock_window(), BC_Meter::update(), Timer::update(), RecordGUI::update_clipped_samples(), RecordGUI::update_position(), ArrayList< TYPE >::values, Asset::video_data, RecordMonitor::window, write_buffer(), and write_result.

| int RecordAudio::arm_recording | ( | ) |
Definition at line 55 of file recordaudio.C.
References buffer_size, Asset::channels, Record::default_asset, fragment_size, Record::get_audio_write_length(), Condition::lock(), record, record_channels, reset_parameters(), Thread::start(), timer, trigger_lock, and Timer::update().
Referenced by RecordThread::run().

| void RecordAudio::start_recording | ( | ) |
Definition at line 70 of file recordaudio.C.
References trigger_lock, and Condition::unlock().
Referenced by RecordThread::run().

| int RecordAudio::stop_recording | ( | ) |
Definition at line 75 of file recordaudio.C.
References Record::adevice, AudioDevice::interrupt_crash(), and record.
Referenced by RecordThread::pause_recording(), RecordVideo::run(), and RecordThread::stop_recording().

| void RecordAudio::rewind_file | ( | ) |
| void RecordAudio::finish_loop | ( | ) |
| void RecordAudio::finish_timed | ( | ) |
| void RecordAudio::reset_parameters | ( | ) |
Definition at line 48 of file recordaudio.C.
References batch_done, and fragment_position.
Referenced by arm_recording().
| int RecordAudio::set_position | ( | int64_t | position | ) |
| int64_t RecordAudio::sync_position | ( | ) |
Definition at line 296 of file recordaudio.C.
References Record::adevice, batch_done, AudioDevice::current_position(), Record::default_asset, MWindow::edl, Record::get_current_batch(), Timer::get_scaled_difference(), Mutex::lock(), mwindow, record, EDLSession::record_software_position, Asset::sample_rate, EDL::session, Batch::session_samples, timer, timer_lock, and Mutex::unlock().
Referenced by RecordThread::sync_position().

| void RecordAudio::write_buffer | ( | int | skip_new = 0 |
) |
Definition at line 286 of file recordaudio.C.
References Record::default_asset, Record::file, fragment_position, File::get_audio_buffer(), input, record, Asset::video_data, File::write_audio_buffer(), and write_result.
Referenced by run().

Definition at line 43 of file recordaudio.h.
Referenced by RecordThread::pause_recording(), reset_parameters(), RecordThread::resume_recording(), RecordVideo::run(), run(), Record::run(), RecordThread::stop_recording(), and sync_position().
MWindow* RecordAudio::mwindow [private] |
Record* RecordAudio::record [private] |
Definition at line 48 of file recordaudio.h.
Referenced by arm_recording(), run(), stop_recording(), sync_position(), and write_buffer().
RecordThread* RecordAudio::record_thread [private] |
double* RecordAudio::max [private] |
int* RecordAudio::over [private] |
double** RecordAudio::input [private] |
RecordGUI* RecordAudio::gui [private] |
int RecordAudio::buffer_size [private] |
int RecordAudio::fragment_size [private] |
int64_t RecordAudio::fragment_position [private] |
Definition at line 55 of file recordaudio.h.
Referenced by RecordAudio(), reset_parameters(), run(), and write_buffer().
int RecordAudio::record_channels [private] |
Mutex* RecordAudio::timer_lock [private] |
Definition at line 57 of file recordaudio.h.
Referenced by RecordAudio(), run(), sync_position(), and ~RecordAudio().
Condition* RecordAudio::trigger_lock [private] |
Definition at line 58 of file recordaudio.h.
Referenced by arm_recording(), RecordAudio(), run(), start_recording(), and ~RecordAudio().
Timer RecordAudio::timer [private] |
Definition at line 59 of file recordaudio.h.
Referenced by arm_recording(), run(), and sync_position().
int RecordAudio::write_result [private] |
int RecordAudio::grab_result [private] |
1.5.5