00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00029
00030
00031
00032
00033 #ifndef __REMIX_H__
00034 #define __REMIX_H__
00035
00162 #include <remix/remix_types.h>
00163
00164 #if defined(__cplusplus)
00165 extern "C" {
00166 #endif
00167
00168 extern CDSet * REMIX_MONO;
00169 extern CDSet * REMIX_STEREO;
00170
00171
00172
00173 RemixEnv * remix_init (void);
00174 RemixEnv * remix_init_clone (RemixEnv * env);
00175 void remix_purge (RemixEnv * env);
00176 RemixError remix_last_error (RemixEnv * env);
00177 char * remix_error_string (RemixEnv * env, RemixError error);
00178 RemixSamplerate remix_set_samplerate (RemixEnv * env, RemixSamplerate samplerate);
00179 RemixSamplerate remix_get_samplerate (RemixEnv * env);
00180 RemixTempo remix_set_tempo (RemixEnv * env, RemixTempo tempo);
00181 RemixTempo remix_get_tempo (RemixEnv * env);
00182 CDSet * remix_set_channels (RemixEnv * env, CDSet * channelset);
00183 CDSet * remix_get_channels (RemixEnv * env);
00184
00185 #if 0
00186
00187
00188 CDList * remix_open (SOUNDRENDER env, char * filename);
00189 void remix_close (SOUNDRENDER env, RemixPlugin plugin);
00190 #endif
00191
00192
00193
00194 RemixPlugin * remix_find_plugin (RemixEnv * env, char * identifier);
00195
00196 RemixBase * remix_new (RemixEnv * env, RemixPlugin * plugin, CDSet * parameters);
00197 CDSet * remix_suggest (RemixEnv * env, RemixPlugin * plugin, CDSet * parameters);
00198
00199 int remix_get_init_parameter_key (RemixEnv * env, RemixPlugin * plugin, char * name);
00200 int remix_get_parameter_key (RemixEnv * env, RemixBase * base, char * name);
00201
00202 RemixParameter remix_set_parameter (RemixEnv * env, RemixBase * base, int key,
00203 RemixParameter parameter);
00204 RemixParameter remix_get_parameter (RemixEnv * env, RemixBase * base, int key);
00205 RemixParameterType remix_get_parameter_type (RemixEnv * env, RemixBase * base, int key);
00206
00207
00208 RemixBase * remix_clone_subclass (RemixEnv * env, RemixBase * base);
00209 int remix_destroy (RemixEnv * env, RemixBase * base);
00210 int remix_destroy_list (RemixEnv * env, CDList * list);
00211 RemixBase * remix_prepare (RemixEnv * env, RemixBase * base);
00212 RemixCount remix_process (RemixEnv * env, RemixBase * base, RemixCount count,
00213 RemixStream * input, RemixStream * output);
00214 RemixCount remix_length (RemixEnv * env, RemixBase * base);
00215 RemixCount remix_seek (RemixEnv * env, RemixBase * base, RemixCount offset, int whence);
00216 RemixCount remix_tell (RemixEnv * env, RemixBase * base);
00217 int remix_flush (RemixEnv * env, RemixBase * base);
00218
00219 RemixCount remix_set_mixlength (RemixEnv * env, RemixCount mixlength);
00220 RemixCount remix_get_mixlength (RemixEnv * env);
00221
00222
00223 int remix_is_writeable (RemixEnv * env, RemixBase * base);
00224 int remix_is_seekable (RemixEnv * env, RemixBase * base);
00225 int remix_is_cacheable (RemixEnv * env, RemixBase * base);
00226 int remix_is_causal (RemixEnv * env, RemixBase * base);
00227
00228 char * remix_set_name (RemixEnv * env, RemixBase * base, char * name);
00229 char * remix_get_name (RemixEnv * env, RemixBase * base);
00230
00231 #include <remix/remix_deck.h>
00232 #include <remix/remix_envelope.h>
00233 #include <remix/remix_stream.h>
00234
00235
00236 RemixSquareTone * remix_squaretone_new (RemixEnv * env, float frequency);
00237 float remix_squaretone_set_frequency (RemixEnv * env,
00238 RemixSquareTone * squaretone,
00239 float frequency);
00240 float remix_squaretone_get_frequency (RemixEnv * env,
00241 RemixSquareTone * squaretone);
00242
00243
00244 RemixMonitor * remix_monitor_new (RemixEnv * env);
00245
00246 #include <remix/remix_time.h>
00247
00248 #include <remix/remix_meta.h>
00249
00250 #if defined(__cplusplus)
00251 }
00252 #endif
00253
00254 #endif