Main Page | Modules | Data Structures | File List | Data Fields | Globals

remix_stream.h File Reference


Detailed Description

The abstraction of multichannel audio data in libremix is known as a stream.

A stream may consist of multiple channels, each of which can consist of an arbitrary number of sparsely placed chunks of raw audio data. The channels are named with spatial names such as LEFT, RIGHT and CENTRE as required for common home, studio and theatre environments.

streams.png

Generic routines are provided for mixing, multiplying and blending streams of data.

#include <remix/remix_types.h>

Go to the source code of this file.

Functions

RemixStream * remix_stream_new (RemixEnv *env)
RemixStream * remix_stream_new_contiguous (RemixEnv *env, RemixCount length)
RemixStream * remix_stream_new_from_buffers (RemixEnv *env, RemixCount length, RemixPCM **buffers)
RemixCount remix_stream_nr_channels (RemixEnv *env, RemixStream *stream)
RemixChannel * remix_stream_find_channel (RemixEnv *env, RemixStream *stream, int name)
RemixChannel * remix_stream_add_channel (RemixEnv *env, RemixStream *stream, int name)
RemixStream * remix_stream_remove_channel (RemixEnv *env, RemixStream *stream, int name)
RemixStream * remix_stream_add_chunks (RemixEnv *env, RemixStream *stream, RemixCount offset, RemixCount length)
RemixCount remix_stream_write0 (RemixEnv *env, RemixStream *stream, RemixCount count)
RemixCount remix_stream_write (RemixEnv *env, RemixStream *stream, RemixCount count, RemixStream *data)
RemixCount remix_stream_copy (RemixEnv *env, RemixStream *src, RemixStream *dest, RemixCount count)
RemixCount remix_stream_gain (RemixEnv *env, RemixStream *stream, RemixCount count, RemixPCM gain)
RemixCount remix_stream_mix (RemixEnv *env, RemixStream *src, RemixStream *dest, RemixCount count)
RemixCount remix_stream_mult (RemixEnv *env, RemixStream *src, RemixStream *dest, RemixCount count)
RemixCount remix_streams_mix (RemixEnv *env, CDList *streams, RemixStream *dest, RemixCount count)
RemixCount remix_stream_fade (RemixEnv *env, RemixStream *src, RemixStream *dest, RemixCount count)
RemixCount remix_stream_blend (RemixEnv *env, RemixStream *src, RemixStream *dest, RemixStream *blend, RemixCount count)
RemixCount remix_stream_interleave_2 (RemixEnv *env, RemixStream *stream, int name1, int name2, RemixPCM *dest, RemixCount count)
RemixCount remix_stream_deinterleave_2 (RemixEnv *env, RemixStream *stream, int name1, int name2, RemixPCM *src, RemixCount count)
int remix_chunk_later (RemixEnv *env, RemixChunk *u1, RemixChunk *u2)
RemixCount remix_chunk_clear (RemixEnv *env, RemixChunk *chunk)


Function Documentation

RemixCount remix_chunk_clear (  RemixEnv *  env,
RemixChunk *  chunk
) 
 

int remix_chunk_later (  RemixEnv *  env,
RemixChunk *  u1,
RemixChunk *  u2
) 
 

RemixChannel* remix_stream_add_channel (  RemixEnv *  env,
RemixStream *  stream,
int  name
) 
 

RemixStream* remix_stream_add_chunks (  RemixEnv *  env,
RemixStream *  stream,
RemixCount  offset,
RemixCount  length
) 
 

RemixCount remix_stream_blend (  RemixEnv *  env,
RemixStream *  src,
RemixStream *  dest,
RemixStream *  blend,
RemixCount  count
) 
 

RemixCount remix_stream_copy (  RemixEnv *  env,
RemixStream *  src,
RemixStream *  dest,
RemixCount  count
) 
 

RemixCount remix_stream_deinterleave_2 (  RemixEnv *  env,
RemixStream *  stream,
int  name1,
int  name2,
RemixPCM *  src,
RemixCount  count
) 
 

RemixCount remix_stream_fade (  RemixEnv *  env,
RemixStream *  src,
RemixStream *  dest,
RemixCount  count
) 
 

RemixChannel* remix_stream_find_channel (  RemixEnv *  env,
RemixStream *  stream,
int  name
) 
 

RemixCount remix_stream_gain (  RemixEnv *  env,
RemixStream *  stream,
RemixCount  count,
RemixPCM  gain
) 
 

RemixCount remix_stream_interleave_2 (  RemixEnv *  env,
RemixStream *  stream,
int  name1,
int  name2,
RemixPCM *  dest,
RemixCount  count
) 
 

RemixCount remix_stream_mix (  RemixEnv *  env,
RemixStream *  src,
RemixStream *  dest,
RemixCount  count
) 
 

RemixCount remix_stream_mult (  RemixEnv *  env,
RemixStream *  src,
RemixStream *  dest,
RemixCount  count
) 
 

RemixStream* remix_stream_new (  RemixEnv *  env  ) 
 

RemixStream* remix_stream_new_contiguous (  RemixEnv *  env,
RemixCount  length
) 
 

RemixStream* remix_stream_new_from_buffers (  RemixEnv *  env,
RemixCount  length,
RemixPCM **  buffers
) 
 

RemixCount remix_stream_nr_channels (  RemixEnv *  env,
RemixStream *  stream
) 
 

RemixStream* remix_stream_remove_channel (  RemixEnv *  env,
RemixStream *  stream,
int  name
) 
 

RemixCount remix_stream_write (  RemixEnv *  env,
RemixStream *  stream,
RemixCount  count,
RemixStream *  data
) 
 

RemixCount remix_stream_write0 (  RemixEnv *  env,
RemixStream *  stream,
RemixCount  count
) 
 

RemixCount remix_streams_mix (  RemixEnv *  env,
CDList *  streams,
RemixStream *  dest,
RemixCount  count
) 
 


Generated on Fri Jan 9 08:44:16 2004 for remix by doxygen 1.3.4