Olive
Functions | Variables
audio.cpp File Reference
#include "audio.h"
#include "oliveglobal.h"
#include "project/sequence.h"
#include "panels/panels.h"
#include "io/config.h"
#include "ui/audiomonitor.h"
#include "playback/playback.h"
#include "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)
 

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 audio_rendering = false
 
bool recording = false
 
qint8 audio_ibuffer [audio_ibuffer_size]
 
qint64 audio_ibuffer_read = 0
 
long audio_ibuffer_frame = 0
 
double audio_ibuffer_timecode = 0
 
AudioSenderThreadaudio_thread = nullptr
 

Function Documentation

◆ clear_audio_ibuffer()

void clear_audio_ibuffer ( )

◆ combobox_audio_sample_rates()

void combobox_audio_sample_rates ( QComboBox *  combobox)

◆ current_audio_freq()

int current_audio_freq ( )

◆ get_audio_device()

QAudioDeviceInfo get_audio_device ( QAudio::Mode  mode)

◆ get_buffer_offset_from_frame()

qint64 get_buffer_offset_from_frame ( double  framerate,
long  frame 
)

◆ get_recorded_audio_filename()

QString get_recorded_audio_filename ( )

◆ init_audio()

void init_audio ( )

◆ int32_to_char_array()

void int32_to_char_array ( qint32  i,
char *  array 
)

◆ is_audio_device_set()

bool is_audio_device_set ( )

◆ log_volume()

double log_volume ( double  linear)

◆ start_recording()

bool start_recording ( )

◆ stop_audio()

void stop_audio ( )

◆ stop_recording()

void stop_recording ( )

◆ write_wave_header()

void write_wave_header ( QFile &  f,
const QAudioFormat &  format 
)

◆ write_wave_trailer()

void write_wave_trailer ( QFile &  f)

Variable Documentation

◆ audio_device_set

bool audio_device_set = false

◆ audio_ibuffer

qint8 audio_ibuffer[audio_ibuffer_size]

◆ audio_ibuffer_frame

long audio_ibuffer_frame = 0

◆ audio_ibuffer_read

qint64 audio_ibuffer_read = 0

◆ audio_ibuffer_timecode

double audio_ibuffer_timecode = 0

◆ audio_input

QAudioInput* audio_input = nullptr

◆ audio_io_device

QIODevice* audio_io_device

◆ audio_output

QAudioOutput* audio_output

◆ audio_rendering

bool audio_rendering = false

◆ audio_scrub

bool audio_scrub = false

◆ audio_thread

AudioSenderThread* audio_thread = nullptr

◆ audio_write_lock

QMutex audio_write_lock

◆ output_recording

QFile output_recording

◆ recording

bool recording = false