control.h, control.c: new module providing control_init() and control_*()
[ng-jackspa.git] / jackspa.h
blobb6452ba33d260bfc75abe038923eb84cfdd13b28
1 /* jackspa.h - API for LADSPA plugin instances with JACK audio ports
2 * Copyright © 2007 Nick Thomas
3 * Copyright © 2013 Géraud Meyer <graud@gmx.com>
5 * jackspa.h is part of ng-jackspa.
7 * ng-jackspa is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 as published
9 * by the Free Software Foundation.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef JACKSPA_H
21 #define JACKSPA_H
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
26 #include <jack/jack.h>
27 #include <ladspa.h>
29 typedef struct {
30 char *client_name;
31 jack_client_t *jack_client;
32 jack_port_t **ports;
33 int num_control_ports;
34 float *control_port_values;
35 float *control_port_buffer;
36 LADSPA_Descriptor *descriptor;
37 LADSPA_Handle handle;
38 } state_t;
40 int jackspa_init(state_t *state, int argc, char **argv);
42 #ifdef __cplusplus
43 } /* extern "C" */
44 #endif
45 #endif