Logo Search packages:      
Sourcecode: csound version File versions  Download package

uggab.h
#ifndef UGGAB_H
#define UGGAB_H
/*
    uggab.h:

    Copyright (C) 1998 Gabriel Maldonado, John ffitch

    This file is part of Csound.

    The Csound Library is free software; you can redistribute it
    and/or modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    Csound is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with Csound; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA
*/

/********************************************/
/* wrap and mirror UGs by Gabriel Maldonado */
/********************************************/

00030 typedef struct {
    OPDS  h;
    MYFLT *xdest, *xsig, *xlow, *xhigh;
} WRAP;

00035 typedef struct {
    OPDS  h;
    MYFLT *kout, *ksig, *kthreshold, *kmode;
    MYFLT old_sig;
} TRIG;

00041 typedef struct {
    OPDS  h;
    MYFLT *r, *val1, *val2, *point, *imin, *imax;
    MYFLT point_factor;
} INTERPOL;

00047 typedef struct  {
    OPDS        h;
    MYFLT       *out, *amp, *freq, *ift, *iphs;
    FUNC        *ftp;
    int32        tablen;
    double      tablenUPsr;
    double      phs;
} POSC;

00056 typedef struct  {
    OPDS        h;
    MYFLT       *out, *amp, *freq, *kloop, *kend, *ift, *iphs;
    FUNC        *ftp;
    int32        tablen;
    MYFLT       fsr;
    double      phs, looplength;
} LPOSC;

00065 typedef struct {
    OPDS        h;
    MYFLT       *ar, *argums[VARGMAX];
} SUM;

00070 typedef struct {
    OPDS        h;
    MYFLT       *ar, *asig, *kcf, *kbw, *ord, *sep, *iflag, *iscl, *istor;
    int         scale, loop;
    AUXCH       aux;
    AUXCH       buffer;
    MYFLT       *yt1, *yt2;
} RESONY;

00079 typedef struct {
    OPDS        h;
    MYFLT       *ar, *asig, *kincr ;
    double      index;
    int32       sample_index;
    MYFLT       value;
} FOLD;

00087 typedef struct {
        OPDS    h;
        MYFLT   *out, *freq, *retrig, *iphase, *argums[VARGMAX];
        MYFLT   args[VARGMAX];
        double  phs;
        int     nsegs;
} LOOPSEG;

/* Complexity of args leads to confusion */
00096 typedef struct {
  MYFLT *start;
  MYFLT *type;
  MYFLT *time;
} T3SEG;

00102 typedef struct {
        OPDS    h;
        MYFLT   *out, *freq, *retrig, *iphase;
        T3SEG   argums[VARGMAX/3];
        double  phs;
        int     nsegs;
} LOOPTSEG;

00110 typedef struct {
        OPDS    h;
        MYFLT   *out, *kphase, *argums[VARGMAX];
        MYFLT   args[VARGMAX];
        int     nsegs;
} LOOPSEGP;

00117 typedef struct {  /* gab f1 */
        OPDS    h;
        MYFLT   *kr, *ksig, *ktime;
        MYFLT   current_val, current_time, incr, val_incremented, old_time;
        int flag;
} LINETO;

00124 typedef struct {  /* gab f1 */
        OPDS    h;
        MYFLT   *kr, *ksig, *ktime, *ktrig;
        MYFLT   current_val, current_time, incr, val_incremented, old_time;
        int flag;
} LINETO2;

00131 typedef struct {
        OPDS    h;
        MYFLT   *out, *AverageAmp,*AverageFreq, *randAmountAmp, *randAmountFreq;
        MYFLT   *ampMinRate, *ampMaxRate, *cpsMinRate, *cpsMaxRate, *ifn, *iphs;
        MYFLT   xcpsAmpRate, xcpsFreqRate;
        double  lphs, tablenUPkr;
        int32    tablen, phsAmpRate, phsFreqRate;
        MYFLT   num1amp, num2amp, num1freq, num2freq, dfdmaxAmp, dfdmaxFreq;
        FUNC    *ftp;
} VIBRATO;

00142 typedef struct {
        OPDS    h;
        MYFLT   *out, *AverageAmp,*AverageFreq,*ifn;
        MYFLT   xcpsAmpRate, xcpsFreqRate;
        double  lphs, tablenUPkr;
        int32    tablen, phsAmpRate, phsFreqRate;
        MYFLT   num1amp, num2amp, num1freq, num2freq, dfdmaxAmp, dfdmaxFreq;
        FUNC    *ftp;
} VIBR;

00152 typedef struct {
        OPDS    h;
        MYFLT   *out, *gamp, *amp1, *cps1, *amp2, *cps2, *amp3, *cps3;
        int     flag;
        int32    phs1,phs2,phs3;
        MYFLT   num1a,num2a, dfdmax1,num1b,num2b, dfdmax2,num1c,num2c, dfdmax3;
} JITTER2;

00160 typedef struct {
        OPDS    h;
        MYFLT   *ar, *amp, *cpsMin, *cpsMax;
        MYFLT   xcps;
        int32    phs;
        int     initflag;
        MYFLT   num1, num2, dfdmax;
} JITTER;

00169 typedef struct {
        OPDS    h;
        MYFLT   *ar, *amp, *cpsMin, *cpsMax;
        double  si;
        double  phs;
        int     initflag, cod;
        MYFLT   num0, num1, num2, df0, df1,c3, c2;
} JITTERS;

#define oneUp31Bit      (4.656612875245796924105750827168e-10)

#define randGab   (MYFLT) ((double)     \
        (((csound->holdrand = csound->holdrand * 214013 + 2531011) >> 1)  \
         & 0x7fffffff) * oneUp31Bit)
#define BiRandGab (MYFLT) ((double)     \
        (csound->holdrand = csound->holdrand * -214013 + 2531011) * oneUp31Bit)

00186 typedef struct  {
        OPDS    h;
        MYFLT   *out, *tableNum;
        int     pfn;
        FUNC    *ftp;
} DURAND;

00193 typedef struct  {
        OPDS    h;
        MYFLT   *out, *min, *max, *tableNum;
        int     pfn;
        FUNC    *ftp;
} CURAND;

00200 typedef struct  {
        OPDS    h;
        MYFLT   *out, *min, *max;
} RANGERAND;

/* mode and fstval arguments added */
/* by Francois Pinot, jan. 2011    */
00207 typedef struct {
        OPDS    h;
        MYFLT   *ar, *min, *max, *xcps, *mode, *fstval; 
        int16   cpscod;
        int32   phs;
        MYFLT   num1, num2, dfdmax;
} RANDOMI;

/* mode and fstval arguments added */
/* by Francois Pinot, jan. 2011    */
00217 typedef struct {
        OPDS    h;
        MYFLT   *ar, *min, *max, *xcps, *mode, *fstval;
        int16   cpscod;
        int32   phs;
        MYFLT   num1;
} RANDOMH;

00225 typedef struct {
        OPDS    h;
        MYFLT   *ar, *rangeMin, *rangeMax, *cpsMin, *cpsMax;
        double  si;
        double  phs;
        int initflag, cod;
        MYFLT   num0, num1, num2, df0, df1,c3, c2;
} RANDOM3;

#endif /* UGGAB_H */


Generated by  Doxygen 1.6.0   Back to index