summaryrefslogtreecommitdiff
path: root/libs/fst/jackvst.h
blob: b496f68493ef7873824ac7cd0ccddf8656529b96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef __jack_vst_h__
#define __jack_vst_h__

#include <sys/types.h>
#include <sys/time.h>
#include <jack/jack.h>
#include <jack/ringbuffer.h>
#include <fst.h>
#include <alsa/asoundlib.h>

typedef struct _JackVST JackVST;

struct _JackVST {
    jack_client_t *client;
    VSTHandle *    handle;
    VSTState *     fst;
    float        **ins;
    float        **outs;
    jack_port_t  *midi_port;
    jack_port_t  **inports;
    jack_port_t  **outports;
    void*          userdata;
    int            bypassed;
    int            muted;
    int		   current_program;

    /* For VST/i support */

    int want_midi;
    pthread_t          midi_thread;
    snd_seq_t*         seq;
    int                midiquit;
    jack_ringbuffer_t* event_queue;
    struct VstEvents*  events;
};

#define MIDI_EVENT_MAX 1024

#endif /* __jack_vst_h__ */