switch to using jack_set_thread_creator() and dont mess with winaudio thread
[fst.git] / jackvst.h
blob29922a286859c67227e5e99b584f088de849d0dd
1 #ifndef __jack_vst_h__
2 #define __jack_vst_h__
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 #include <alsa/asoundlib.h>
11 typedef struct _JackVST JackVST;
13 struct _JackVST {
14 jack_client_t *client;
15 FSTHandle* handle;
16 FST* fst;
17 float **ins;
18 float **outs;
19 jack_port_t *midi_inport;
20 jack_port_t *midi_outport;
21 jack_port_t **inports;
22 jack_port_t **outports;
23 void* userdata;
24 int bypassed;
25 int muted;
26 int current_program;
28 int midi_map[128];
29 volatile int midi_learn;
30 volatile int midi_learn_CC;
31 volatile int midi_learn_PARAM;
33 int resume_called;
35 /* For VST/i support */
36 int want_midi_in;
37 struct VstMidiEvent* event_array;
38 struct VstEvents* events;
40 /* For VST midi effects & synth source (like audio to midi VSTs) support */
41 jack_ringbuffer_t* ringbuffer;
44 #define MIDI_EVENT_MAX 1024
46 #endif /* __jack_vst_h__ */