LiVES 1.4.9
Data Structures | Defines | Enumerations | Functions

src/audio.h File Reference

Go to the source code of this file.

Data Structures

struct  aserver_message_t
struct  lives_audio_buf_t

Defines

#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
#define SWAP_S_TO_U   2
 signed to unsigned
#define SWAP_X_TO_L   1
 endian swapping
#define SWAP_L_TO_X   2
 local to other
#define DEFAULT_AUDIO_RATE   44100
 defaults for when not specifed
#define DEFAULT_AUDIO_CHANS   2
#define DEFAULT_AUDIO_SAMPS   16
#define DEFAULT_AUDIO_SIGNED8   (AFORM_UNSIGNED)
#define DEFAULT_AUDIO_SIGNED16   !(AFORM_UNSIGNED)
#define MAX_AUDIO_MEM   8*1024*1024
 TODO ** - make configurable - audio buffer size for rendering.
#define RENDER_BLOCK_SIZE   1024
 chunk size for interpolate/effect cycle
#define SILENCE_BLOCK_SIZE   65536
 size of silent block in bytes
#define READ_BLOCK_SIZE   4096
 chunk size for audio buffer reads
#define XSAMPLES   128000
 buffer size for realtime audio
#define ASERVER_CMD_PROCESSED   0
#define ASERVER_CMD_FILE_OPEN   1
#define ASERVER_CMD_FILE_CLOSE   2
#define ASERVER_CMD_FILE_SEEK   3
#define RECA_WINDOW_GRAB   1
#define RECA_NEW_CLIP   2
#define RECA_EXISTING   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 }

Functions

void sample_silence_dS (float *dst, unsigned long nsamples)
void sample_move_d8_d16 (short *dst, guchar *src, unsigned long nsamples, size_t tbytes, float scale, int nDstChannels, int nSrcChannels, int swap_sign)
void sample_move_d16_d16 (short *dst, short *src, unsigned long 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, unsigned long nsamples, size_t tbytes, float scale, int nDstChannels, int nSrcChannels, int swap_sign)
void sample_move_d16_float (float *dst, short *src, unsigned long nsamples, unsigned long src_skip, int is_unsigned, float vol)
long sample_move_float_int (void *holding_buff, float **float_buffer, int nsamps, float scale, int chans, int asamps, int usigned, gboolean swap_endian, float vol)
 returns frames output
long sample_move_abuf_float (float **obuf, int nchans, int nsamps, int out_arate, float vol)
long sample_move_abuf_int16 (short *obuf, int nchans, int nsamps, int out_arate)
long render_audio_segment (gint nfiles, gint *from_files, gint to_file, gdouble *avels, gdouble *fromtime, weed_timecode_t tc_start, weed_timecode_t tc_end, gdouble *chvol, gdouble opvol_start, gdouble opvol_end, lives_audio_buf_t *obuf)
void aud_fade (gint fileno, gdouble startt, gdouble endt, gdouble startv, gdouble endv)
 fade in/fade out
void fill_abuffer_from (lives_audio_buf_t *abuf, weed_plant_t *event_list, weed_plant_t *st_event, gboolean exact)
gboolean resync_audio (gint frameno)
lives_audio_track_state_tget_audio_and_effects_state_at (weed_plant_t *event_list, weed_plant_t *st_event, gboolean get_audstate, gboolean exact)
void init_jack_audio_buffers (gint achans, gint arate, gboolean exact)
void free_jack_audio_buffers (void)
void init_pulse_audio_buffers (gint achans, gint arate, gboolean exact)
void free_pulse_audio_buffers (void)
void audio_free_fnames (void)
lives_audio_buf_taudio_cache_init (void)
void audio_cache_end (void)
lives_audio_buf_taudio_cache_get_buffer (void)
gboolean start_audio_stream (void)
void stop_audio_stream (void)
void clear_audio_stream (void)
LIVES_INLINE void audio_stream (void *buff, size_t nbytes, int fd)

Define 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 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 RECA_EXISTING   3
#define RECA_NEW_CLIP   2
#define RECA_WINDOW_GRAB   1
#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

Enumerator:
AUDIO_LOOP_NONE 
AUDIO_LOOP_FORWARD 
AUDIO_LOOP_PINGPONG 
Enumerator:
LIVES_NOP_OPERATION 
LIVES_READ_OPERATION 
LIVES_WRITE_OPERATION 
LIVES_CONVERT_OPERATION 

Function Documentation

void aud_fade ( gint  fileno,
gdouble  startt,
gdouble  endt,
gdouble  startv,
gdouble  endv 
) [inline]

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  )
LIVES_INLINE 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,
gboolean  exact 
)
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,
gboolean  get_audstate,
gboolean  exact 
)
void init_jack_audio_buffers ( gint  achans,
gint  arate,
gboolean  exact 
)
void init_pulse_audio_buffers ( gint  achans,
gint  arate,
gboolean  exact 
)
long render_audio_segment ( gint  nfiles,
gint *  from_files,
gint  to_file,
gdouble *  avels,
gdouble *  fromtime,
weed_timecode_t  tc_start,
weed_timecode_t  tc_end,
gdouble *  chvol,
gdouble  opvol_start,
gdouble  opvol_end,
lives_audio_buf_t obuf 
)
gboolean resync_audio ( gint  frameno)
long sample_move_abuf_float ( float **  obuf,
int  nchans,
int  nsamps,
int  out_arate,
float  vol 
)
long sample_move_abuf_int16 ( short *  obuf,
int  nchans,
int  nsamps,
int  out_arate 
)
void sample_move_d16_d16 ( short *  dst,
short *  src,
unsigned long  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,
unsigned long  nsamples,
size_t  tbytes,
float  scale,
int  nDstChannels,
int  nSrcChannels,
int  swap_sign 
)
void sample_move_d16_float ( float *  dst,
short *  src,
unsigned long  nsamples,
unsigned long  src_skip,
int  is_unsigned,
float  vol 
)
void sample_move_d8_d16 ( short *  dst,
guchar *  src,
unsigned long  nsamples,
size_t  tbytes,
float  scale,
int  nDstChannels,
int  nSrcChannels,
int  swap_sign 
)
long sample_move_float_int ( void *  holding_buff,
float **  float_buffer,
int  nsamps,
float  scale,
int  chans,
int  asamps,
int  usigned,
gboolean  swap_endian,
float  vol 
)

returns frames output

void sample_silence_dS ( float *  dst,
unsigned long  nsamples 
)
gboolean start_audio_stream ( void  )
void stop_audio_stream ( void  )
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines