bus.h

Go to the documentation of this file.
00001 /*
00002     bus.h:
00003 
00004     Copyright (C) 2004 John ffitch
00005         (C) 2005, 2006 Istvan Varga
00006         (C) 2006 Victor Lazzarini
00007 
00008     This file is part of Csound.
00009 
00010     The Csound Library is free software; you can redistribute it
00011     and/or modify it under the terms of the GNU Lesser General Public
00012     License as published by the Free Software Foundation; either
00013     version 2.1 of the License, or (at your option) any later version.
00014 
00015     Csound is distributed in the hope that it will be useful,
00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018     GNU Lesser General Public License for more details.
00019 
00020     You should have received a copy of the GNU Lesser General Public
00021     License along with Csound; if not, write to the Free Software
00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00023     02111-1307 USA
00024 */
00025 
00026 /*                                                      BUS.H           */
00027 
00028 #ifndef CSOUND_BUS_H
00029 #define CSOUND_BUS_H
00030 
00031 #include "pstream.h"
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 typedef struct {
00038     OPDS    h;
00039     PVSDAT   *r;
00040     MYFLT    *a,*N, *overlap, *winsize, *wintype, *format;
00041     PVSDAT   init;
00042 } FCHAN;
00043 
00044 typedef struct {
00045     OPDS    h;
00046     MYFLT   *ans;
00047     MYFLT   *keyDown;
00048     int     evtbuf;
00049 } KSENSE;
00050 
00051 typedef struct {
00052     OPDS    h;
00053     MYFLT   *arg;
00054     MYFLT   *iname;
00055     MYFLT   *fp;
00056 } CHNGET;
00057 
00058 typedef struct {
00059     OPDS    h;
00060     MYFLT   *iname;
00061     MYFLT   *fp;
00062 } CHNCLEAR;
00063 
00064 typedef struct {
00065     OPDS    h;
00066     MYFLT   *iname;
00067     MYFLT   *imode;
00068     const char  *name;
00069     MYFLT   *fp;
00070     int     type;
00071 } CHNSEND;
00072 
00073 typedef struct {
00074     OPDS    h;
00075     MYFLT   *iname;
00076     MYFLT   *imode;
00077     MYFLT   *itype;
00078     MYFLT   *idflt;
00079     MYFLT   *imin;
00080     MYFLT   *imax;
00081 } CHN_OPCODE_K;
00082 
00083 typedef struct {
00084     OPDS    h;
00085     MYFLT   *iname;
00086     MYFLT   *imode;
00087 } CHN_OPCODE;
00088 
00089 typedef struct {
00090     OPDS    h;
00091     MYFLT   *arg;
00092     MYFLT   *iname;
00093     MYFLT   *imode;
00094     MYFLT   *itype;
00095     MYFLT   *idflt;
00096     MYFLT   *imin;
00097     MYFLT   *imax;
00098 } CHNEXPORT_OPCODE;
00099 
00100 typedef struct {
00101     OPDS    h;
00102     MYFLT   *itype;
00103     MYFLT   *imode;
00104     MYFLT   *ictltype;
00105     MYFLT   *idflt;
00106     MYFLT   *imin;
00107     MYFLT   *imax;
00108     MYFLT   *iname;
00109 } CHNPARAMS_OPCODE;
00110 
00111 /*
00112  {  "chnget",      0xFFFF,              0,      NULL,           NULL,
00113     (SUBR) NULL, (SUBR) NULL, (SUBR) NULL                               },
00114  {  "chnget.i",    S(CHNGET),           1,      "i",            "S",
00115     (SUBR) chnget_opcode_init_i, (SUBR) NULL, (SUBR) NULL               },
00116  {  "chnget.k",    S(CHNGET),           3,      "k",            "S",
00117     (SUBR) chnget_opcode_init_k, (SUBR) notinit_opcode_stub, (SUBR) NULL },
00118  {  "chnget.a",    S(CHNGET),           5,      "a",            "S",
00119     (SUBR) chnget_opcode_init_a, (SUBR) notinit_opcode_stub, (SUBR) NULL },
00120  {  "chnget.S",    S(CHNGET),           1,      "S",            "S",
00121     (SUBR) chnget_opcode_init_S, (SUBR) NULL, (SUBR) NULL               },
00122  {  "chnset",      0xFFFB,              0,      NULL,           NULL,
00123     (SUBR) NULL, (SUBR) NULL, (SUBR) NULL                               },
00124  {  "chnset.i",    S(CHNGET),           1,      "",             "iS",
00125     (SUBR) chnset_opcode_init_i, (SUBR) NULL, (SUBR) NULL               },
00126  {  "chnset.r",    S(CHNGET),           1,      "",             "iS",
00127     (SUBR) chnset_opcode_init_i, (SUBR) NULL, (SUBR) NULL               },
00128  {  "chnset.c",    S(CHNGET),           1,      "",             "iS",
00129     (SUBR) chnset_opcode_init_i, (SUBR) NULL, (SUBR) NULL               },
00130  {  "chnset.k",    S(CHNGET),           3,      "",             "kS",
00131     (SUBR) chnset_opcode_init_k, (SUBR) notinit_opcode_stub, (SUBR) NULL },
00132  {  "chnset.a",    S(CHNGET),           5,      "",             "aS",
00133     (SUBR) chnset_opcode_init_a, (SUBR) notinit_opcode_stub, (SUBR) NULL },
00134  {  "chnset.S",    S(CHNGET),           1,      "",             "SS",
00135     (SUBR) chnset_opcode_init_S, (SUBR) NULL, (SUBR) NULL               },
00136  {  "chnmix",      S(CHNGET),           5,      "",             "aS",
00137     (SUBR) chnmix_opcode_init, (SUBR) NULL, (SUBR) notinit_opcode_stub  },
00138  {  "chnclear",    S(CHNCLEAR),         5,      "",             "S",
00139     (SUBR) chnclear_opcode_init, (SUBR) NULL, (SUBR) notinit_opcode_stub },
00140  {  "chn_k",       S(CHN_OPCODE_K),     1,      "",             "Sioooo",
00141     (SUBR) chn_k_opcode_init, (SUBR) NULL, (SUBR) NULL                  },
00142  {  "chn_a",       S(CHN_OPCODE),       1,      "",             "Si",
00143     (SUBR) chn_a_opcode_init, (SUBR) NULL, (SUBR) NULL                  },
00144  {  "chn_S",       S(CHN_OPCODE),       1,      "",             "Si",
00145     (SUBR) chn_S_opcode_init, (SUBR) NULL, (SUBR) NULL                  },
00146  {  "chnexport",   0xFFFF,              0,      NULL,           NULL,
00147     (SUBR) NULL, (SUBR) NULL, (SUBR) NULL                               },
00148  {  "chnexport.i", S(CHNEXPORT_OPCODE), 1,      "i",            "Sioooo",
00149     (SUBR) chnexport_opcode_init, (SUBR) NULL, (SUBR) NULL              },
00150  {  "chnexport.k", S(CHNEXPORT_OPCODE), 1,      "k",            "Sioooo",
00151     (SUBR) chnexport_opcode_init, (SUBR) NULL, (SUBR) NULL              },
00152  {  "chnexport.a", S(CHNEXPORT_OPCODE), 1,      "a",            "Si",
00153     (SUBR) chnexport_opcode_init, (SUBR) NULL, (SUBR) NULL              },
00154  {  "chnexport.S", S(CHNEXPORT_OPCODE), 1,      "S",            "Si",
00155     (SUBR) chnexport_opcode_init, (SUBR) NULL, (SUBR) NULL              },
00156  {  "chnparams",   S(CHNPARAMS_OPCODE), 1,      "iiiiii",       "S",
00157     (SUBR) chnparams_opcode_init, (SUBR) NULL, (SUBR) NULL              },
00158  {  "chnrecv",     S(CHNSEND),          3,      "",             "So",
00159     (SUBR) chnrecv_opcode_init, (SUBR) notinit_opcode_stub, (SUBR) NULL },
00160  {  "chnsend",     S(CHNSEND),          3,      "",             "So",
00161     (SUBR) chnsend_opcode_init, (SUBR) notinit_opcode_stub, (SUBR) NULL },
00162 */
00163 
00164 #ifndef CSOUND_BUS_C
00165 
00166 int     chano_opcode_perf_k(CSOUND *, void *);
00167 int     chano_opcode_perf_a(CSOUND *, void *);
00168 int     chani_opcode_perf_k(CSOUND *, void *);
00169 int     chani_opcode_perf_a(CSOUND *, void *);
00170 int     pvsin_init(CSOUND *, void *);
00171 int     pvsin_perf(CSOUND *, void *);
00172 int     pvsout_perf(CSOUND *, void *);
00173 
00174 int     sensekey_perf(CSOUND *, void *);
00175 
00176 int     notinit_opcode_stub(CSOUND *, void *);
00177 int     chnget_opcode_init_i(CSOUND *, void *);
00178 int     chnget_opcode_init_k(CSOUND *, void *);
00179 int     chnget_opcode_init_a(CSOUND *, void *);
00180 int     chnget_opcode_init_S(CSOUND *, void *);
00181 int     chnset_opcode_init_i(CSOUND *, void *);
00182 int     chnset_opcode_init_k(CSOUND *, void *);
00183 int     chnset_opcode_init_a(CSOUND *, void *);
00184 int     chnset_opcode_init_S(CSOUND *, void *);
00185 int     chnmix_opcode_init(CSOUND *, void *);
00186 int     chnclear_opcode_init(CSOUND *, void *);
00187 int     chn_k_opcode_init(CSOUND *, void *);
00188 int     chn_a_opcode_init(CSOUND *, void *);
00189 int     chn_S_opcode_init(CSOUND *, void *);
00190 int     chnexport_opcode_init(CSOUND *, void *);
00191 int     chnparams_opcode_init(CSOUND *, void *);
00192 int     chnrecv_opcode_init(CSOUND *, void *);
00193 int     chnsend_opcode_init(CSOUND *, void *);
00194 
00195 #endif      /* CSOUND_BUS_C */
00196 
00197 #ifdef __cplusplus
00198 }
00199 #endif
00200 
00201 #endif      /* CSOUND_BUS_H */
00202 

Generated on Sun Nov 9 00:04:52 2008 for Csound and CsoundAC by  doxygen 1.5.6