9 * Display FST error message.
11 * Set via fst_set_error_function(), otherwise a FST-provided
12 * default will print @a msg (plus a newline) to stderr.
14 * @param msg error message text (no newline at end).
16 extern void (*fst_error_callback
)(const char *msg
);
19 * Set the @ref fst_error_callback for error message display.
21 * The FST library provides two built-in callbacks for this purpose:
22 * default_fst_error_callback() and silent_fst_error_callback().
24 void fst_set_error_function (void (*func
)(const char *));
26 void fst_error (const char *fmt
, ...);
28 #define VESTIGE_HEADER
31 #include <vestige/aeffectx.h>
34 typedef struct _FST FST
;
35 typedef struct _FSTHandle FSTHandle
;
36 typedef struct _FSTInfo FSTInfo
;
37 typedef struct _FSTKey FSTKey
;
53 int canProcessReplacing
; // what do we need this for ?
55 // i think we should save the parameter Info Stuff soon.
56 // struct VstParameterInfo *infos;
61 typedef struct AEffect
* (*main_entry_t
)(audioMasterCallback
);
67 char* nameptr
; /* ptr returned from strdup() etc. */
68 //struct AEffect* (*main_entry)(audioMasterCallback);
69 main_entry_t main_entry
;
76 /** virtual-key code, or 0 if this _FSTKey is a `character' key */
78 /** `character' key, or 0 if this _FSTKey is a virtual-key */
84 struct AEffect
* plugin
;
85 void* window
; /* win32 HWND */
86 int xid
; /* X11 XWindow */
95 int program_set_without_editor
;
98 unsigned char *wanted_chunk
;
99 int wanted_chunk_size
;
104 FSTKey pending_keys
[16];
107 int dispatcher_wantcall
;
108 int dispatcher_opcode
;
109 int dispatcher_index
;
111 void * dispatcher_ptr
;
112 float dispatcher_opt
;
113 int dispatcher_retval
;
116 pthread_mutex_t lock
;
117 pthread_cond_t window_status_change
;
118 pthread_cond_t plugin_dispatcher_called
;
126 extern int fst_init (void* possible_hmodule
);
127 extern void fst_exit ();
129 extern FSTHandle
* fst_load (const char*);
130 extern int fst_unload (FSTHandle
*);
132 extern FST
* fst_instantiate (FSTHandle
*, audioMasterCallback amc
, void* userptr
);
133 extern void fst_close (FST
*);
135 extern int fst_create_editor (FST
* fst
);
136 extern int fst_run_editor (FST
*);
137 extern void fst_destroy_editor (FST
*);
138 extern int fst_get_XID (FST
*);
139 extern void fst_move_window_into_view (FST
*);
141 extern FSTInfo
*fst_get_info (char *dllpathname
);
142 extern void fst_free_info (FSTInfo
*info
);
143 extern void fst_event_loop_remove_plugin (FST
* fst
);
144 extern int fst_call_dispatcher(FST
*fst
, int opcode
, int index
, int val
, void *ptr
, float opt
);
147 * Load a plugin state from a file.
149 extern int fst_load_state (FST
* fst
, char * filename
);
152 * Save a plugin state to a file.
154 extern int fst_save_state (FST
* fst
, char * filename
);
156 extern int wine_pthread_create (pthread_t
* thread_id
, const pthread_attr_t
* attr
, void *(*function
)(void*), void* arg
);
163 #endif /* __fst_fst_h__ */