jackspa: --jack-nostartserver: new switch
[ng-jackspa.git] / jackspa.h
blobde8d7abe7e19ce1ef7669d4ba62b9ae15ce641c4
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 jack_client_t *jack_client;
33 jack_port_t **jack_ports; /* indexed by the LADSPA port index */
34 unsigned long num_control_ports; /* input control ports */
35 float *control_port_values; /* indexed by the LADSPA port index */
36 LADSPA_Descriptor *descriptor;
37 LADSPA_Handle handle;
38 } state_t;
40 /* Initial config (command line switches) */
41 extern const GOptionEntry jackspa_entries[];
43 int jackspa_init(state_t *state, int argc, char **argv);
45 #ifdef __cplusplus
46 } /* extern "C" */
47 #endif
48 #endif