Missing file.
[ardour.git] / libs / ardour / ardour / linux_vst_support.h
1 #ifndef __vstfx_h__
2 #define __vstfx_h__
3
4 #include <setjmp.h>
5 #include <signal.h>
6 #include <pthread.h>
7 #include <stdio.h>
8
9 #include "ardour/vst_types.h"
10
11 /******************************************************************************************/
12 /*VSTFX - an engine to manage native linux VST plugins - derived from FST for Windows VSTs*/
13 /******************************************************************************************/
14  
15 extern void (*vstfx_error_callback)(const char *msg);
16
17 void vstfx_set_error_function (void (*func)(const char *));
18
19 void  vstfx_error (const char *fmt, ...);
20
21 /*API to vstfx*/
22
23 extern int          vstfx_launch_editor (VSTState *);
24 extern int          vstfx_init (void *);
25 extern void         vstfx_exit ();
26 extern VSTHandle *  vstfx_load (const char*);
27 extern int          vstfx_unload (VSTHandle *);
28 extern VSTState *   vstfx_instantiate (VSTHandle *, audioMasterCallback, void *);
29 extern void         vstfx_close (VSTState*);
30
31 extern int          vstfx_create_editor (VSTState *);
32 extern int          vstfx_run_editor (VSTState *);
33 extern void         vstfx_destroy_editor (VSTState *);
34
35 extern VSTInfo *    vstfx_get_info (char *);
36 extern void         vstfx_free_info (VSTInfo *);
37 extern void         vstfx_event_loop_remove_plugin (VSTState *);
38 extern int          vstfx_call_dispatcher (VSTState *, int, int, int, void *, float);
39
40 /** Load a plugin state from a file.**/
41
42 extern int vstfx_load_state (VSTState* vstfx, char * filename);
43
44 /** Save a plugin state to a file.**/
45
46 extern bool vstfx_save_state (VSTState* vstfx, char * filename);
47
48
49 #endif /* __vstfx_h__ */