File: insert.h

package info (click to toggle)
csound 1%3A4.23f12-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 6,132 kB
  • ctags: 17,345
  • sloc: ansic: 101,063; cpp: 7,730; perl: 335; makefile: 318; tcl: 82
file content (95 lines) | stat: -rw-r--r-- 2,676 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*  
    insert.h:

    Copyright (C) 1991, 2002 Barry Vercoe, Istvan Varga

    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
*/

typedef struct {                        /*       INSERT.H                */
        OPDS    h;
        LBLBLK  *lblblk;
} GOTO;

typedef struct {
        OPDS    h;
        int     *cond;
        LBLBLK  *lblblk;
} CGOTO;

typedef struct {
        OPDS    h;
        MYFLT   *idel, *idur;
        LBLBLK  *lblblk;
        long    cnt1, cnt2;
} TIMOUT;

typedef struct {
        OPDS    h;
} LINK;

/* the number of optional outputs defined in entry.c */
#define SUBINSTNUMOUTS  8       /* IV - Sep 8 2002: for subinstruments ... */
/* #define OPCODENUMOUTS   24      IV - Oct 24 2002: moved this to cs.h */

typedef struct {
        OPCODINFO *opcode_info;
        void    *uopcode_struct;
        INSDS   *parent_ip;
        MYFLT   *iobufp_ptrs[4];        /* expandable IV - Oct 26 2002 */
} OPCOD_IOBUFS;

typedef struct {                        /* IV - Oct 16 2002 */
        OPDS    h;
        MYFLT   *ar[VARGMAX];
        INSDS   *ip, *parent_ip;
        AUXCH   saved_spout;
        OPCOD_IOBUFS    buf;
} SUBINST;

typedef struct {                /* IV - Sep 8 2002: new structure: UOPCODE */
        OPDS    h;
        MYFLT   *ar[(OPCODENUMOUTS << 1) + 1];
        INSDS   *ip, *parent_ip;
        OPCOD_IOBUFS  *buf;
        int     l_ksmps, ksmps_scale;
        MYFLT   l_ensmps, l_ekr, l_onedkr, l_hfkprd, l_kicvt;
} UOPCODE;

/* IV - Sep 8 2002: added opcodes: xin, xout, and setksmps */

typedef struct {
        OPDS        h;
        MYFLT       *args[OPCODENUMOUTS];
} XIN;

typedef struct {
        OPDS        h;
        MYFLT       *args[OPCODENUMOUTS];           /* IV - Oct 24 2002 */
} XOUT;

typedef struct {
        OPDS        h;
        MYFLT       *i_ksmps;
} SETKSMPS;

typedef struct {                /* IV - Oct 20 2002 */
        OPDS        h;
	MYFLT       *i_insno, *iname;
} NSTRNUM;