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_ENVELOPE_H__
00034 #define __REMIX_ENVELOPE_H__
00035
00047 #include <remix/remix_types.h>
00048
00049 #if defined(__cplusplus)
00050 extern "C" {
00051 #endif
00052
00053
00054 RemixEnvelope * remix_envelope_new (RemixEnv * env, RemixEnvelopeType type);
00055 RemixEnvelopeType remix_envelope_set_type (RemixEnv * env,
00056 RemixEnvelope * envelope,
00057 RemixEnvelopeType type);
00058 RemixEnvelopeType remix_envelope_get_type (RemixEnv * env, RemixEnvelope * envelope);
00059 RemixTimeType remix_envelope_set_timetype (RemixEnv * env,
00060 RemixEnvelope * envelope,
00061 RemixTimeType timetype);
00062 RemixTimeType remix_envelope_get_timetype (RemixEnv * env,
00063 RemixEnvelope * envelope);
00064 RemixPCM remix_envelope_get_value (RemixEnv * env, RemixEnvelope * envelope,
00065 RemixTime time);
00066 RemixTime remix_envelope_get_duration (RemixEnv * env,
00067 RemixEnvelope * envelope);
00068 RemixPCM remix_envelope_get_integral (RemixEnv * env, RemixEnvelope * envelope,
00069 RemixTime t1, RemixTime t2);
00070 RemixPoint * remix_envelope_add_point (RemixEnv * env,
00071 RemixEnvelope * envelope,
00072 RemixTime time, RemixPCM value);
00073 RemixEnvelope * remix_envelope_remove_point (RemixEnv * env,
00074 RemixEnvelope * envelope,
00075 RemixPoint * point);
00076 RemixEnvelope * remix_envelope_scale (RemixEnv * env, RemixEnvelope * envelope,
00077 RemixPCM gain);
00078 RemixEnvelope * remix_envelope_shift (RemixEnv * env, RemixEnvelope * envelope,
00079 RemixTime delta);
00080
00081 #if defined(__cplusplus)
00082 }
00083 #endif
00084
00085 #endif