2 Copyright (C) 2013 Paul Brossier <piem@aubio.org>
4 This file is part of aubio.
6 aubio is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 aubio is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with aubio. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef AUBIO_AUDIO_UNIT_H
22 #define AUBIO_AUDIO_UNIT_H
32 typedef struct _aubio_audio_unit_t aubio_audio_unit_t;
34 aubio_audio_unit_t * new_aubio_audio_unit(uint_t samplerate, uint_t inchannels,
35 uint_t outchannels, uint_t blocksize);
37 typedef uint_t (*aubio_device_callback_t) (void * closure, fmat_t *ibuf, fmat_t *obuf);
39 uint_t aubio_audio_unit_set_callback(aubio_audio_unit_t *o,
40 aubio_device_callback_t callback, void *closure);
42 sint_t aubio_audio_unit_set_verbose (aubio_audio_unit_t *o, uint_t verbose);
43 sint_t aubio_audio_unit_set_preferred_latency (aubio_audio_unit_t *o, smpl_t
45 sint_t aubio_audio_unit_set_prevent_feedback (aubio_audio_unit_t *o, uint_t
48 sint_t aubio_audio_unit_get_info (aubio_audio_unit_t *o);
50 sint_t aubio_audio_unit_init (aubio_audio_unit_t *o);
52 sint_t aubio_audio_unit_start (aubio_audio_unit_t *o);
53 sint_t aubio_audio_unit_stop (aubio_audio_unit_t *o);
55 uint_t del_aubio_audio_unit(aubio_audio_unit_t *o);
61 #endif /* AUBIO_AUDIO_UNIT_H */