Olive
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Functions | Variables
audio.cpp File Reference
#include "audio.h"
#include "global/global.h"
#include "timeline/sequence.h"
#include "panels/panels.h"
#include "global/config.h"
#include "ui/audiomonitor.h"
#include "rendering/renderfunctions.h"
#include "global/debug.h"
#include <QApplication>
#include <QAudioOutput>
#include <QAudioInput>
#include <QtMath>
#include <QFile>
#include <QDir>
#include <QComboBox>
#include <libavcodec/avcodec.h>

Functions

bool is_audio_device_set ()
 
QAudioDeviceInfo get_audio_device (QAudio::Mode mode)
 
void init_audio ()
 
void stop_audio ()
 
void clear_audio_ibuffer ()
 
int current_audio_freq ()
 
qint64 get_buffer_offset_from_frame (double framerate, long frame)
 
double log_volume (double linear)
 
void int32_to_char_array (qint32 i, char *array)
 
void write_wave_header (QFile &f, const QAudioFormat &format)
 
void write_wave_trailer (QFile &f)
 
bool start_recording ()
 
void stop_recording ()
 
QString get_recorded_audio_filename ()
 
void combobox_audio_sample_rates (QComboBox *combobox)
 
QObject * GetAudioWakeObject ()
 
void SetAudioWakeObject (QObject *o)
 
void WakeAudioWakeObject ()
 

Variables

QAudioOutput * audio_output
 
QIODevice * audio_io_device
 
bool audio_device_set = false
 
bool audio_scrub = false
 
QMutex audio_write_lock
 
QAudioInput * audio_input = nullptr
 
QFile output_recording
 
bool recording = false
 
bool audio_rendering = false
 
int audio_rendering_rate = 0
 
qint8 audio_ibuffer [audio_ibuffer_size]
 
qint64 audio_ibuffer_read = 0
 
long audio_ibuffer_frame = 0
 
double audio_ibuffer_timecode = 0
 
AudioSenderThreadaudio_thread = nullptr
 
QObject * audio_wake_object = nullptr
 
QMutex audio_wake_mutex
 

Function Documentation

void clear_audio_ibuffer ( )
void combobox_audio_sample_rates ( QComboBox *  combobox)
int current_audio_freq ( )
QAudioDeviceInfo get_audio_device ( QAudio::Mode  mode)
qint64 get_buffer_offset_from_frame ( double  framerate,
long  frame 
)
QString get_recorded_audio_filename ( )
QObject* GetAudioWakeObject ( )
void init_audio ( )
void int32_to_char_array ( qint32  i,
char *  array 
)
bool is_audio_device_set ( )
double log_volume ( double  linear)
void SetAudioWakeObject ( QObject *  o)
bool start_recording ( )
void stop_audio ( )
void stop_recording ( )
void WakeAudioWakeObject ( )
void write_wave_header ( QFile &  f,
const QAudioFormat &  format 
)
void write_wave_trailer ( QFile &  f)

Variable Documentation

bool audio_device_set = false
qint8 audio_ibuffer[audio_ibuffer_size]
long audio_ibuffer_frame = 0
qint64 audio_ibuffer_read = 0
double audio_ibuffer_timecode = 0
QAudioInput* audio_input = nullptr
QIODevice* audio_io_device
QAudioOutput* audio_output
bool audio_rendering = false
int audio_rendering_rate = 0
bool audio_scrub = false
AudioSenderThread* audio_thread = nullptr
QMutex audio_wake_mutex
QObject* audio_wake_object = nullptr
QMutex audio_write_lock
QFile output_recording
bool recording = false