00001
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef CSHELLSYNTH_PORTAMENTO_H
00029 #define CSHELLSYNTH_PORTAMENTO_H 1
00030
00031 #include <jack/jack.h>
00032 #include <cshellsynth/atomic-types.h>
00033 #include <cshellsynth/filter.h>
00034
00042 typedef struct cs_porta_struct {
00043 jack_client_t *client;
00044 jack_port_t *in_port;
00045 atomic_float_t in;
00046 jack_port_t *out_port;
00047 jack_port_t *lag_port;
00048 atomic_float_t lag;
00049 double start;
00050 double target;
00051 double last;
00052 } cs_porta_t;
00053
00059 #define cs_porta_destroy(cs_porta) cs_filter_destroy((cs_filter_t *) (cs_porta))
00060
00066 int cs_porta_init(cs_porta_t *self, const char *client_name, jack_options_t flags, char *server_name);
00067
00071 #define cs_porta_set_in(self, in) cs_filter_set_in(self, in)
00072
00080 void cs_porta_set_lag(cs_porta_t *self, float lag);
00081
00082 #endif