replace FOO_SUPPORT with HAVE_FOO, use float for jack_process function prototype
[aubio.git] / ext / jackio.h
1 /*
2    Copyright (C) 2003 Paul Brossier
3
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 2 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program; if not, write to the Free Software
16    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 */
19
20 #ifndef JACKIO_H
21 #define JACKIO_H
22
23 /** 
24  * @file
25  *
26  * Jack driver for aubio
27  * 
28  */
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 /** jack object */
35 typedef struct _aubio_jack_t aubio_jack_t;
36 /** jack process function */
37 typedef int (*aubio_process_func_t)(float **input, float **output, int
38     nframes);
39
40 /** jack device creation function */
41 aubio_jack_t * new_aubio_jack (uint_t inchannels, uint_t outchannels,
42     aubio_process_func_t callback);
43 /** activate jack client (run jackprocess function) */
44 uint_t aubio_jack_activate(aubio_jack_t *jack_setup);
45 /** close and delete jack client */
46 void aubio_jack_close(aubio_jack_t *jack_setup);
47
48 #ifdef __cplusplus
49 }
50 #endif
51
52 #endif /* JACKIO_H */