File: convolve.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 (71 lines) | stat: -rw-r--r-- 2,555 bytes parent folder | download | duplicates (2)
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
/*  
    convolve.h:

    Copyright (C) 1996 Greg Sullivan

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

#ifndef _CONVOLVE_H_
#define _CONVOLVE_H_

#define CONVOLVE_VERSION_STRING "CONVOLVE VERSION: V1.1\n"

#ifndef NULL
#define NULL 0L
#endif /* !NULL */

#define CVMAGIC 666     /* Evil, eh? */

#define CVDFLTBYTS 4

typedef struct cvstruct
{
    long        magic;                  /* magic number to identify */
    long        headBsize;              /* byte offset from start to data */
    long        dataBsize;              /* total number of bytes of data */
    long        dataFormat;             /* (int) format specifier */
    MYFLT       samplingRate;           /* of original sample */
    long        src_chnls;              /* no. of channels in source */
    long        channel;                /* requested channel(s) */
    long        Hlen;                   /* length of impulse reponse */
    long        Format;                 /* (int) how words are org'd in frm */
    char        info[CVDFLTBYTS];       /* extendable byte area */
} CVSTRUCT;

/* Error codes returned by CONVOLVE file functions */
#define CVE_OK          0       /* no error*/
#define CVE_NOPEN       -1      /* couldn't open file */
#define CVE_NCV         -2      /* not a CONVOLVE file */
#define CVE_MALLOC      -3      /* couldn't allocate memory */
#define CVE_RDERR       -4      /* read error */
#define CVE_WRERR       -5      /* write error */

#define CV_UNK_LEN      -1L     /* flag if dataBsize unknown in hdr */

/* values for dataFormat field */
#define CVMYFLT (4+32)  /* 32 bit float data */

/* values for frameFormat field */
#define CVRECT  1       /* real, imag pairs */

/********************************/
/* exported function prototypes */
/********************************/

#endif /* !_CONVOLVE_H_ */