Functions

remix_stream.h File Reference

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

#include <remix/remix_types.h>

Go to the source code of this file.

Functions

RemixStreamremix_stream_new (RemixEnv *env)
RemixStreamremix_stream_new_contiguous (RemixEnv *env, RemixCount length)
RemixStreamremix_stream_new_from_buffers (RemixEnv *env, RemixCount length, RemixPCM **buffers)
RemixCount remix_stream_nr_channels (RemixEnv *env, RemixStream *stream)
RemixChannelremix_stream_find_channel (RemixEnv *env, RemixStream *stream, int name)
RemixChannelremix_stream_add_channel (RemixEnv *env, RemixStream *stream, int name)
RemixStreamremix_stream_remove_channel (RemixEnv *env, RemixStream *stream, int name)
RemixStreamremix_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)

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.


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 
)