merge Marcel Bonnet's patches for Free-BSD
[ardour.git] / libs / fst / jackvst.h
1 #ifndef __jack_vst_h__
2 #define __jack_vst_h__
3
4 #include <sys/types.h>
5 #include <sys/time.h>
6 #include <jack/jack.h>
7 #include <jack/ringbuffer.h>
8 #include <fst.h>
9 #ifdef WITH_ALSA
10 #include <alsa/asoundlib.h>
11 #endif
12
13 typedef struct _JackVST JackVST;
14
15 struct _JackVST {
16     jack_client_t *client;
17     VSTHandle *    handle;
18     VSTState *     fst;
19     float        **ins;
20     float        **outs;
21     jack_port_t  *midi_port;
22     jack_port_t  **inports;
23     jack_port_t  **outports;
24     void*          userdata;
25     int            bypassed;
26     int            muted;
27     int            current_program;
28
29     /* For VST/i support */
30
31     int want_midi;
32     pthread_t          midi_thread;
33 #ifdef WITH_ALSA
34     snd_seq_t*         seq;
35 #endif WITH_ALSA
36     int                midiquit;
37     jack_ringbuffer_t* event_queue;
38     struct VstEvents*  events;
39 };
40
41 #define MIDI_EVENT_MAX 1024
42
43 #endif /* __jack_vst_h__ */