njackspa: [bug] fix the fields' widths
[ng-jackspa.git] / jackspa.h
blob0c01e828b49cf03f41bce6e8ad6d62a16349e8be
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>
28 #include <glib.h>
30 typedef struct {
31 char *client_name;
32 const char **port_names; /* indexed by the LADSPA port index */
33 jack_client_t *jack_client;
34 jack_port_t **jack_ports; /* indexed by the LADSPA port index */
35 unsigned long num_control_ports; /* input control ports */
36 unsigned long num_meter_ports; /* output control ports */
37 float *control_port_values; /* indexed by the LADSPA port index */
38 LADSPA_Descriptor *descriptor;
39 LADSPA_Handle handle;
40 } state_t;
42 /* Initial config (command line switches) */
43 extern const GOptionEntry jackspa_entries[];
45 int jackspa_init(state_t *state, int argc, char **argv);
47 #ifdef __cplusplus
48 } /* extern "C" */
49 #endif
50 #endif