LiVES  2.4.1-svn
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Functions | Variables
audio.c File Reference
#include <sys/types.h>
#include <sys/stat.h>
#include "../libweed/weed.h"
#include "../libweed/weed-host.h"
#include "../libweed/weed-effects.h"
#include "../libweed/weed-palettes.h"
#include "main.h"
#include "audio.h"
#include "events.h"
#include "callbacks.h"
#include "effects.h"
#include "support.h"

Macros

#define NSTOREDFDS   16
 

Functions

void audio_free_fnames (void)
 
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)
 
void init_audio_frame_buffer (short aplayer)
 
void free_audio_frame_buffer (lives_audio_buf_t *abuf)
 
LIVES_INLINE 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 (int16_t *dst, int16_t *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_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 little_endian, boolean 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)
 
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)
 
LIVES_INLINE void aud_fade (int fileno, double startt, double endt, double startv, double endv)
 fade in/fade out More...
 
lives_audio_track_state_tget_audio_and_effects_state_at (weed_plant_t *event_list, weed_plant_t *st_event, boolean get_audstate, boolean exact)
 
void fill_abuffer_from (lives_audio_buf_t *abuf, weed_plant_t *event_list, weed_plant_t *st_event, boolean exact)
 
void init_jack_audio_buffers (int achans, int arate, boolean exact)
 
void init_pulse_audio_buffers (int achans, int arate, boolean exact)
 
void free_jack_audio_buffers (void)
 
void free_pulse_audio_buffers (void)
 
boolean resync_audio (int frameno)
 
lives_audio_buf_taudio_cache_init (void)
 
void audio_cache_end (void)
 
lives_audio_buf_taudio_cache_get_buffer (void)
 
boolean get_audio_from_plugin (float *fbuffer, int nchans, int arate, int nsamps)
 
void reinit_audio_gen (void)
 
boolean apply_rte_audio_init (void)
 
void apply_rte_audio_end (boolean del)
 
boolean apply_rte_audio (int nframes)
 
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)
 
LIVES_INLINE void audio_stream (void *buff, size_t nbytes, int fd)
 

Variables

off64_t audio_pos
 
weed_timecode_t aud_tc
 
lives_pgid_t astream_pgid =0
 

Macro Definition Documentation

#define NSTOREDFDS   16

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  )
LIVES_INLINE 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  )
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,
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 ( int16_t *  dst,
int16_t *  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  little_endian,
boolean  interleaved,
float  vol 
)

returns frames output

LIVES_INLINE void sample_silence_dS ( float *  dst,
uint64_t  nsamples 
)
boolean start_audio_stream ( void  )
void stop_audio_stream ( void  )

Variable Documentation

lives_pgid_t astream_pgid =0
weed_timecode_t aud_tc
off64_t audio_pos