LiVES 2.4.6

- Main Page
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Macros | Enumerations | Functions
audio.h File Reference

Go to the source code of this file.

## Data Structures
struct | aserver_message_t
struct | lives_audio_buf_t

## Macros
#define | SAMPLE_MAX_16BIT_P 32767.0f
#define | SAMPLE_MAX_16BIT_N 32768.0f
#define | SAMPLE_MAX_16BITI 32768
#define | SWAP_U_TO_S 1
| sign swapping More...
#define | SWAP_S_TO_U 2
| signed to unsigned More...
#define | SWAP_X_TO_L 1
| endian swapping More...
#define | SWAP_L_TO_X 2
| local to other More...
#define | DEFAULT_AUDIO_RATE 44100
| defaults for when not specifed More...
#define | DEFAULT_AUDIO_CHANS 2
#define | DEFAULT_AUDIO_SAMPS 16
#define | DEFAULT_AUDIO_SIGNED8 (AFORM_UNSIGNED)
#define | DEFAULT_AUDIO_SIGNED16 (!AFORM_UNSIGNED)
#define | LIVES_ACONNECT_TIMEOUT (10 * U_SEC)
| KO time before declaring audio server dead. More...
#define | MAX_AUDIO_MEM 8*1024*1024
| TODO ** - make configurable - audio buffer size for rendering. More...
#define | RENDER_BLOCK_SIZE 1024
| chunk size for interpolate/effect cycle More...
#define | SILENCE_BLOCK_SIZE 65536
| size of silent block in bytes More...
#define | READ_BLOCK_SIZE 4096
| chunk size for audio buffer reads More...
#define | XSAMPLES 128000
| buffer size for realtime audio More...
#define | ASERVER_CMD_PROCESSED 0
| asynch msging More...
#define | ASERVER_CMD_FILE_OPEN 1
#define | ASERVER_CMD_FILE_CLOSE 2
#define | ASERVER_CMD_FILE_SEEK 3

## Enumerations
enum | lives_operation_t { LIVES_NOP_OPERATION =0, LIVES_READ_OPERATION, LIVES_WRITE_OPERATION, LIVES_CONVERT_OPERATION }
enum | lives_audio_loop_t { AUDIO_LOOP_NONE, AUDIO_LOOP_FORWARD, AUDIO_LOOP_PINGPONG }
enum | lives_rec_audio_type_t { RECA_WINDOW_GRAB, RECA_NEW_CLIP, RECA_EXISTING, RECA_EXTERNAL, RECA_GENERATED }

## Functions
void | sample_silence_dS (float *dst, uint64_t nsamples)
void | sample_move_d8_d16 (short *dst, uint8_t *src, uint64_t nsamples, size_t tbytes, float scale, int nDstChannels, int nSrcChannels, int swap_sign)
void | sample_move_d16_d16 (short *dst, short *src, uint64_t nsamples, size_t tbytes, float scale, int nDstChannels, int nSrcChannels, int swap_endian, int swap_sign)
void | sample_move_d16_d8 (uint8_t *dst, short *src, uint64_t nsamples, size_t tbytes, float scale, int nDstChannels, int nSrcChannels, int swap_sign)
void | sample_move_d16_float (float *dst, short *src, uint64_t nsamples, uint64_t src_skip, int is_unsigned, boolean rev_endian, float vol)
int64_t | sample_move_float_int (void *holding_buff, float **float_buffer, int nsamps, float scale, int chans, int asamps, int usigned, boolean swap_endian, boolean float_interleaved, float vol)
| returns frames output More...
int64_t | sample_move_abuf_float (float **obuf, int nchans, int nsamps, int out_arate, float vol)
int64_t | sample_move_abuf_int16 (short *obuf, int nchans, int nsamps, int out_arate)
void | sample_move_float_float (float *dst, float *src, uint64_t nsamples, float scale, int dst_skip)
boolean | float_deinterleave (float *fbuffer, int nsamps, int nchans)
boolean | float_interleave (float *fbuffer, int nsamps, int nchans)
int64_t | render_audio_segment (int nfiles, int *from_files, int to_file, double *avels, double *fromtime, weed_timecode_t tc_start, weed_timecode_t tc_end, double *chvol, double opvol_start, double opvol_end, lives_audio_buf_t *obuf)
void | aud_fade (int fileno, double startt, double endt, double startv, double endv)
| fade in/fade out More...
void | fill_abuffer_from (lives_audio_buf_t *abuf, weed_plant_t *event_list, weed_plant_t *st_event, boolean exact)
boolean | resync_audio (int frameno)
lives_audio_track_state_t * | get_audio_and_effects_state_at (weed_plant_t *event_list, weed_plant_t *st_event, boolean get_audstate, boolean exact)
boolean | get_audio_from_plugin (float *fbuffer, int nchans, int arate, int nsamps)
void | reinit_audio_gen (void)
void | init_jack_audio_buffers (int achans, int arate, boolean exact)
void | free_jack_audio_buffers (void)
void | init_pulse_audio_buffers (int achans, int arate, boolean exact)
void | free_pulse_audio_buffers (void)
void | audio_free_fnames (void)
lives_audio_buf_t * | audio_cache_init (void)
void | audio_cache_end (void)
lives_audio_buf_t * | audio_cache_get_buffer (void)
boolean | apply_rte_audio_init (void)
void | apply_rte_audio_end (boolean del)
boolean | apply_rte_audio (int nframes)
void | init_audio_frame_buffer (short aplayer)
void | free_audio_frame_buffer (lives_audio_buf_t *abuf)
void | append_to_audio_bufferf (lives_audio_buf_t *abuf, float *src, uint64_t nsamples, int channum)
void | append_to_audio_buffer16 (lives_audio_buf_t *abuf, void *src, uint64_t nsamples, int channum)
boolean | push_audio_to_channel (weed_plant_t *achan, lives_audio_buf_t *abuf)
boolean | start_audio_stream (void)
void | stop_audio_stream (void)
void | clear_audio_stream (void)
void | audio_stream (void *buff, size_t nbytes, int fd)

## Macro Definition Documentation

#define ASERVER_CMD_FILE_CLOSE 2

#define ASERVER_CMD_FILE_OPEN 1

#define ASERVER_CMD_FILE_SEEK 3

#define ASERVER_CMD_PROCESSED 0

asynch msging

#define DEFAULT_AUDIO_CHANS 2

#define DEFAULT_AUDIO_RATE 44100

defaults for when not specifed

#define DEFAULT_AUDIO_SAMPS 16

#define DEFAULT_AUDIO_SIGNED16 (!AFORM_UNSIGNED)

#define DEFAULT_AUDIO_SIGNED8 (AFORM_UNSIGNED)

#define LIVES_ACONNECT_TIMEOUT (10 * U_SEC)

KO time before declaring audio server dead.

#define MAX_AUDIO_MEM 8*1024*1024

TODO ** - make configurable - audio buffer size for rendering.

#define READ_BLOCK_SIZE 4096

chunk size for audio buffer reads

#define RENDER_BLOCK_SIZE 1024

chunk size for interpolate/effect cycle

#define SAMPLE_MAX_16BIT_N 32768.0f

#define SAMPLE_MAX_16BIT_P 32767.0f

#define SAMPLE_MAX_16BITI 32768

#define SILENCE_BLOCK_SIZE 65536

size of silent block in bytes

#define SWAP_L_TO_X 2

local to other

#define SWAP_S_TO_U 2

signed to unsigned

#define SWAP_U_TO_S 1

sign swapping

unsigned to signed

#define SWAP_X_TO_L 1

endian swapping

other to local

#define XSAMPLES 128000

buffer size for realtime audio

## Enumeration Type Documentation

enum lives_audio_loop_t

Enumerator
AUDIO_LOOP_NONE |
AUDIO_LOOP_FORWARD |
AUDIO_LOOP_PINGPONG |

enum lives_operation_t

Enumerator
LIVES_NOP_OPERATION |
LIVES_READ_OPERATION |
LIVES_WRITE_OPERATION |
LIVES_CONVERT_OPERATION |

enum lives_rec_audio_type_t

Enumerator
RECA_WINDOW_GRAB |
RECA_NEW_CLIP |
RECA_EXISTING |
RECA_EXTERNAL |
RECA_GENERATED |

## Function Documentation

void append_to_audio_buffer16 | ( | lives_audio_buf_t * | abuf,
|  | void * | src,
|  | uint64_t | nsamples,
|  | int | channum
| ) |  |

void append_to_audio_bufferf | ( | lives_audio_buf_t * | abuf,
|  | float * | src,
|  | uint64_t | nsamples,
|  | int | channum
| ) |  |

boolean apply_rte_audio | ( | int | nframes | ) |

void apply_rte_audio_end | ( | boolean | del | ) |

boolean apply_rte_audio_init | ( | void |  | ) |

void aud_fade | ( | int | fileno,
|  | double | startt,
|  | double | endt,
|  | double | startv,
|  | double | endv
| ) |  |

fade in/fade out

void audio_cache_end | ( | void |  | ) |

< tell cache thread to exit when possible

lives_audio_buf_t* audio_cache_get_buffer | ( | void |  | ) |

lives_audio_buf_t* audio_cache_init | ( | void |  | ) |

void audio_free_fnames | ( | void |  | ) |

void audio_stream | ( | void * | buff,
|  | size_t | nbytes,
|  | int | fd
| ) |  |

void clear_audio_stream | ( | void |  | ) |

void fill_abuffer_from | ( | lives_audio_buf_t * | abuf,
|  | weed_plant_t * | event_list,
|  | weed_plant_t * | st_event,
|  | boolean | exact
| ) |  |

boolean float_deinterleave | ( | float * | fbuffer,
|  | int | nsamps,
|  | int | nchans
| ) |  |

boolean float_interleave | ( | float * | fbuffer,
|  | int | nsamps,
|  | int | nchans
| ) |  |

void free_audio_frame_buffer | ( | lives_audio_buf_t * | abuf | ) |

void free_jack_audio_buffers | ( | void |  | ) |

void free_pulse_audio_buffers | ( | void |  | ) |

lives_audio_track_state_t* get_audio_and_effects_state_at | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | st_event,
|  | boolean | get_audstate,
|  | boolean | exact
| ) |  |

boolean get_audio_from_plugin | ( | float * | fbuffer,
|  | int | nchans,
|  | int | arate,
|  | int | nsamps
| ) |  |

void init_audio_frame_buffer | ( | short | aplayer | ) |

void init_jack_audio_buffers | ( | int | achans,
|  | int | arate,
|  | boolean | exact
| ) |  |

void init_pulse_audio_buffers | ( | int | achans,
|  | int | arate,
|  | boolean | exact
| ) |  |

boolean push_audio_to_channel | ( | weed_plant_t * | achan,
|  | lives_audio_buf_t * | abuf
| ) |  |

void reinit_audio_gen | ( | void |  | ) |

int64_t render_audio_segment | ( | int | nfiles,
|  | int * | from_files,
|  | int | to_file,
|  | double * | avels,
|  | double * | fromtime,
|  | weed_timecode_t | tc_start,
|  | weed_timecode_t | tc_end,
|  | double * | chvol,
|  | double | opvol_start,
|  | double | opvol_end,
|  | lives_audio_buf_t * | obuf
| ) |  |

boolean resync_audio | ( | int | frameno | ) |

int64_t sample_move_abuf_float | ( | float ** | obuf,
|  | int | nchans,
|  | int | nsamps,
|  | int | out_arate,
|  | float | vol
| ) |  |

int64_t sample_move_abuf_int16 | ( | short * | obuf,
|  | int | nchans,
|  | int | nsamps,
|  | int | out_arate
| ) |  |

void sample_move_d16_d16 | ( | short * | dst,
|  | short * | src,
|  | uint64_t | nsamples,
|  | size_t | tbytes,
|  | float | scale,
|  | int | nDstChannels,
|  | int | nSrcChannels,
|  | int | swap_endian,
|  | int | swap_sign
| ) |  |

void sample_move_d16_d8 | ( | uint8_t * | dst,
|  | short * | src,
|  | uint64_t | nsamples,
|  | size_t | tbytes,
|  | float | scale,
|  | int | nDstChannels,
|  | int | nSrcChannels,
|  | int | swap_sign
| ) |  |

void sample_move_d16_float | ( | float * | dst,
|  | short * | src,
|  | uint64_t | nsamples,
|  | uint64_t | src_skip,
|  | int | is_unsigned,
|  | boolean | rev_endian,
|  | float | vol
| ) |  |

void sample_move_d8_d16 | ( | short * | dst,
|  | uint8_t * | src,
|  | uint64_t | nsamples,
|  | size_t | tbytes,
|  | float | scale,
|  | int | nDstChannels,
|  | int | nSrcChannels,
|  | int | swap_sign
| ) |  |

void sample_move_float_float | ( | float * | dst,
|  | float * | src,
|  | uint64_t | nsamples,
|  | float | scale,
|  | int | dst_skip
| ) |  |

int64_t sample_move_float_int | ( | void * | holding_buff,
|  | float ** | float_buffer,
|  | int | nsamps,
|  | float | scale,
|  | int | chans,
|  | int | asamps,
|  | int | usigned,
|  | boolean | swap_endian,
|  | boolean | float_interleaved,
|  | float | vol
| ) |  |

returns frames output

void sample_silence_dS | ( | float * | dst,
|  | uint64_t | nsamples
| ) |  |

boolean start_audio_stream | ( | void |  | ) |

void stop_audio_stream | ( | void |  | ) |