00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef __REMIX_STREAM_H__
00029 #define __REMIX_STREAM_H__
00030
00048 #include <remix/remix_types.h>
00049
00050 #if defined(__cplusplus)
00051 extern "C" {
00052 #endif
00053
00054
00055 RemixStream * remix_stream_new (RemixEnv * env);
00056 RemixStream * remix_stream_new_contiguous (RemixEnv * env, RemixCount length);
00057 RemixStream * remix_stream_new_from_buffers (RemixEnv * env, RemixCount length,
00058 RemixPCM ** buffers);
00059 RemixCount remix_stream_nr_channels (RemixEnv * env, RemixStream * stream);
00060 RemixChannel * remix_stream_find_channel (RemixEnv * env,
00061 RemixStream * stream, int name);
00062 RemixChannel * remix_stream_add_channel (RemixEnv * env,
00063 RemixStream * stream, int name);
00064 RemixStream * remix_stream_remove_channel (RemixEnv * env,
00065 RemixStream * stream, int name);
00066 RemixStream * remix_stream_add_chunks (RemixEnv * env, RemixStream * stream,
00067 RemixCount offset, RemixCount length);
00068
00069 RemixCount remix_stream_write0 (RemixEnv * env, RemixStream * stream,
00070 RemixCount count);
00071 RemixCount remix_stream_write (RemixEnv * env, RemixStream * stream,
00072 RemixCount count, RemixStream * data);
00073 RemixCount remix_stream_copy (RemixEnv * env, RemixStream * src,
00074 RemixStream * dest, RemixCount count);
00075 RemixCount remix_stream_gain (RemixEnv * env, RemixStream * stream,
00076 RemixCount count, RemixPCM gain);
00077 RemixCount remix_stream_mix (RemixEnv * env, RemixStream * src,
00078 RemixStream * dest, RemixCount count);
00079 RemixCount remix_stream_mult (RemixEnv * env, RemixStream * src,
00080 RemixStream * dest, RemixCount count);
00081 RemixCount remix_streams_mix (RemixEnv * env, CDList * streams,
00082 RemixStream * dest, RemixCount count);
00083 RemixCount remix_stream_fade (RemixEnv * env, RemixStream * src,
00084 RemixStream * dest, RemixCount count);
00085 RemixCount remix_stream_blend (RemixEnv * env, RemixStream * src,
00086 RemixStream * dest,
00087 RemixStream * blend, RemixCount count);
00088
00089 RemixCount remix_stream_interleave_2 (RemixEnv * env, RemixStream * stream,
00090 int name1, int name2,
00091 RemixPCM * dest, RemixCount count);
00092 RemixCount remix_stream_deinterleave_2 (RemixEnv * env, RemixStream * stream,
00093 int name1, int name2,
00094 RemixPCM * src, RemixCount count);
00095
00096
00097 int remix_chunk_later (RemixEnv * env, RemixChunk * u1, RemixChunk * u2);
00098 RemixCount remix_chunk_clear (RemixEnv * env, RemixChunk * chunk);
00099
00100 #if defined(__cplusplus)
00101 }
00102 #endif
00103
00104 #endif