insert.h

Go to the documentation of this file.
00001 /*
00002     insert.h:
00003 
00004     Copyright (C) 1991, 2002 Barry Vercoe, Istvan Varga
00005 
00006     This file is part of Csound.
00007 
00008     The Csound Library is free software; you can redistribute it
00009     and/or modify it under the terms of the GNU Lesser General Public
00010     License as published by the Free Software Foundation; either
00011     version 2.1 of the License, or (at your option) any later version.
00012 
00013     Csound is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016     GNU Lesser General Public License for more details.
00017 
00018     You should have received a copy of the GNU Lesser General Public
00019     License along with Csound; if not, write to the Free Software
00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00021     02111-1307 USA
00022 */
00023 
00024 typedef struct {                        /*       INSERT.H                */
00025     OPDS    h;
00026     LBLBLK  *lblblk;
00027 } GOTO;
00028 
00029 typedef struct {
00030     OPDS    h;
00031     int     *cond;
00032     LBLBLK  *lblblk;
00033 } CGOTO;
00034 
00035 typedef struct {
00036     OPDS    h;
00037     MYFLT   *ndxvar, *incr, *limit;
00038     LBLBLK  *l;
00039 } LOOP_OPS;
00040 
00041 typedef struct {
00042     OPDS    h;
00043     MYFLT   *idel, *idur;
00044     LBLBLK  *lblblk;
00045     long    cnt1, cnt2;
00046 } TIMOUT;
00047 
00048 typedef struct {
00049     OPDS    h;
00050 } LINK;
00051 
00052 /* the number of optional outputs defined in entry.c */
00053 #define SUBINSTNUMOUTS  8
00054 
00055 typedef struct {
00056     OPCODINFO *opcode_info;
00057     void    *uopcode_struct;
00058     INSDS   *parent_ip;
00059     MYFLT   *iobufp_ptrs[4];            /* expandable IV - Oct 26 2002 */
00060 } OPCOD_IOBUFS;
00061 
00062 typedef struct {                        /* IV - Oct 16 2002 */
00063     OPDS    h;
00064     MYFLT   *ar[VARGMAX];
00065     INSDS   *ip, *parent_ip;
00066     AUXCH   saved_spout;
00067     OPCOD_IOBUFS    buf;
00068 } SUBINST;
00069 
00070 typedef struct {                /* IV - Sep 8 2002: new structure: UOPCODE */
00071     OPDS    h;
00072     INSDS   *ip, *parent_ip;
00073     OPCOD_IOBUFS  *buf;
00074     int     l_ksmps, ksmps_scale;
00075     MYFLT   l_ekr, l_onedkr, l_onedksmps, l_kicvt;
00076     /* special case: the argument list is stored at the end of the */
00077     /* opcode data structure */
00078     MYFLT   *ar[1];
00079 } UOPCODE;
00080 
00081 /* IV - Sep 8 2002: added opcodes: xin, xout, and setksmps */
00082 
00083 typedef struct {
00084     OPDS    h;
00085     MYFLT   *args[1];
00086 } XIN;
00087 
00088 typedef struct {
00089     OPDS    h;
00090     MYFLT   *args[OPCODENUMOUTS_LOW];
00091 } XIN_LOW;
00092 
00093 typedef struct {
00094     OPDS    h;
00095     MYFLT   *args[OPCODENUMOUTS_HIGH];
00096 } XIN_HIGH;
00097 
00098 typedef struct {
00099     OPDS    h;
00100     MYFLT   *args[OPCODENUMOUTS_MAX];
00101 } XIN_MAX;
00102 
00103 typedef struct {
00104     OPDS    h;
00105     MYFLT   *args[1];
00106 } XOUT;
00107 
00108 typedef struct {
00109     OPDS    h;
00110     MYFLT   *args[OPCODENUMOUTS_LOW];
00111 } XOUT_LOW;
00112 
00113 typedef struct {
00114     OPDS    h;
00115     MYFLT   *args[OPCODENUMOUTS_HIGH];
00116 } XOUT_HIGH;
00117 
00118 typedef struct {
00119     OPDS    h;
00120     MYFLT   *args[OPCODENUMOUTS_MAX];
00121 } XOUT_MAX;
00122 
00123 typedef struct {
00124     OPDS    h;
00125     MYFLT   *i_ksmps;
00126 } SETKSMPS;
00127 
00128 typedef struct {                        /* IV - Oct 20 2002 */
00129     OPDS    h;
00130     MYFLT   *i_insno, *iname;
00131 } NSTRNUM;
00132 
00133 typedef struct {
00134     OPDS    h;
00135     MYFLT   *kInsNo, *kFlags, *kRelease;
00136 } TURNOFF2;
00137 
00138 typedef struct {
00139     OPDS    h;
00140     MYFLT   *insno;
00141 } DELETEIN;
00142 

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