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 typedef struct {
00029 OPDS h;
00030 MYFLT *sr, *ain, *adel, *imaxd, *istod;
00031 AUXCH aux;
00032 long left;
00033 } VDEL;
00034
00035 typedef struct {
00036 OPDS h;
00037 MYFLT *sr1, *sr2, *sr3, *sr4;
00038 MYFLT *ain1, *ain2, *ain3, *ain4, *adel, *imaxd, *iquality, *istod;
00039 AUXCH aux1, aux2, aux3, aux4;
00040 int interp_size;
00041 long left;
00042 } VDELXQ;
00043
00044 typedef struct {
00045 OPDS h;
00046 MYFLT *sr1, *sr2, *ain1, *ain2, *adel, *imaxd, *iquality, *istod;
00047 AUXCH aux1, aux2;
00048 int interp_size;
00049 long left;
00050 } VDELXS;
00051
00052 typedef struct {
00053 OPDS h;
00054 MYFLT *sr1, *ain1, *adel, *imaxd, *iquality, *istod;
00055 AUXCH aux1;
00056 int interp_size;
00057 long left;
00058 } VDELX;
00059
00060 typedef struct {
00061 OPDS h;
00062 MYFLT *sr, *ain, *ndel[VARGMAX];
00063 AUXCH aux;
00064 long left, max;
00065 } MDEL;
00066
00067 #if 0
00068
00069 #define Combs 6
00070 #define Alpas 5
00071
00072 typedef struct {
00073 OPDS h;
00074 MYFLT *out, *in, *time, *hdif, *istor;
00075 MYFLT *cbuf_cur[Combs], *abuf_cur[Alpas];
00076 MYFLT c_time[Combs], c_gain[Combs], a_time[Alpas], a_gain[Alpas];
00077 MYFLT z[Combs], g[Combs];
00078 AUXCH temp;
00079 AUXCH caux[Combs], aaux[Alpas];
00080 MYFLT prev_time, prev_hdif;
00081 } STVB;
00082
00083
00084
00085 typedef struct {
00086 OPDS h;
00087 MYFLT *out, *in, *time, *hdif, *istor;
00088 MYFLT *cbuf_cur[Combs], *abuf_cur[Alpas];
00089 MYFLT c_time[Combs], c_gain[Combs], a_time[Alpas], a_gain[Alpas];
00090 MYFLT z[Combs], g[Combs];
00091 AUXCH temp;
00092 AUXCH caux[Combs], aaux[Alpas];
00093 MYFLT prev_time, prev_hdif;
00094 } NREV;
00095
00096 #endif
00097
00098
00099
00100
00101
00102
00103
00104 typedef struct {
00105 OPDS h;
00106 MYFLT *out, *in, *time, *hdif, *istor;
00107 MYFLT *inumCombs, *ifnCombs, *inumAlpas, *ifnAlpas;
00108
00109 int numCombs, numAlpas;
00110 MYFLT **cbuf_cur, **abuf_cur;
00111 MYFLT **pcbuf_cur, **pabuf_cur;
00112 MYFLT *c_time, *c_gain, *a_time, *a_gain;
00113 const MYFLT *c_orggains, *a_orggains;
00114 MYFLT *z, *g;
00115 AUXCH temp;
00116 AUXCH caux, aaux;
00117 AUXCH caux2, aaux2;
00118 MYFLT prev_time, prev_hdif;
00119 } NREV2;
00120
00121 int vdelset(CSOUND *, VDEL *p);
00122 int vdelay(CSOUND *, VDEL *p);
00123 int vdelay3(CSOUND *, VDEL *p);
00124 int vdelxset(CSOUND *, VDELX *p);
00125 int vdelxsset(CSOUND *, VDELXS *p);
00126 int vdelxqset(CSOUND *, VDELXQ *p);
00127 int vdelayx(CSOUND *, VDELX *p);
00128 int vdelayxw(CSOUND *, VDELX *p);
00129 int vdelayxs(CSOUND *, VDELXS *p);
00130 int vdelayxws(CSOUND *, VDELXS *p);
00131 int vdelayxq(CSOUND *, VDELXQ *p);
00132 int vdelayxwq(CSOUND *, VDELXQ *p);
00133 int multitap_set(CSOUND *, MDEL *p);
00134 int multitap_play(CSOUND *, MDEL *p);
00135 #if 0
00136 int nreverb_set(CSOUND *, NREV *p);
00137 int nreverb(CSOUND *, NREV *p);
00138 #endif
00139 int reverbx_set(CSOUND *, NREV2 *p);
00140 int reverbx(CSOUND *, NREV2 *p);
00141