2008-06-02 17:41:35 -04:00
|
|
|
#ifndef __fst_fst_h__
|
|
|
|
#define __fst_fst_h__
|
|
|
|
|
|
|
|
#include <setjmp.h>
|
|
|
|
#include <signal.h>
|
|
|
|
#include <pthread.h>
|
|
|
|
|
2011-11-21 17:46:20 -05:00
|
|
|
#include "ardour/vst_types.h"
|
2011-11-21 20:28:27 -05:00
|
|
|
#include "ardour/vestige/aeffectx.h"
|
2011-11-21 17:46:20 -05:00
|
|
|
|
2008-06-02 17:41:35 -04:00
|
|
|
/**
|
|
|
|
* Display FST error message.
|
|
|
|
*
|
2009-02-27 12:11:21 -05:00
|
|
|
* Set via fst_set_error_function(), otherwise a FST-provided
|
|
|
|
* default will print @a msg (plus a newline) to stderr.
|
|
|
|
*
|
|
|
|
* @param msg error message text (no newline at end).
|
2008-06-02 17:41:35 -04:00
|
|
|
*/
|
2009-02-27 12:11:21 -05:00
|
|
|
extern void (*fst_error_callback)(const char *msg);
|
2008-06-02 17:41:35 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Set the @ref fst_error_callback for error message display.
|
|
|
|
*
|
|
|
|
* The FST library provides two built-in callbacks for this purpose:
|
2009-02-27 12:11:21 -05:00
|
|
|
* default_fst_error_callback() and silent_fst_error_callback().
|
2008-06-02 17:41:35 -04:00
|
|
|
*/
|
|
|
|
void fst_set_error_function (void (*func)(const char *));
|
|
|
|
|
2009-02-27 12:11:21 -05:00
|
|
|
void fst_error (const char *fmt, ...);
|
|
|
|
|
2008-06-02 17:41:35 -04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2009-02-27 12:11:21 -05:00
|
|
|
extern int fst_init (void* possible_hmodule);
|
2009-04-15 20:43:41 -04:00
|
|
|
extern void fst_exit ();
|
2008-06-02 17:41:35 -04:00
|
|
|
|
2011-11-21 20:28:34 -05:00
|
|
|
extern VSTHandle* fst_load (const char*);
|
|
|
|
extern int fst_unload (VSTHandle*);
|
2008-06-02 17:41:35 -04:00
|
|
|
|
2011-11-21 21:27:26 -05:00
|
|
|
extern VSTState * fst_instantiate (VSTHandle *, audioMasterCallback amc, void* userptr);
|
|
|
|
extern void fst_close (VSTState *);
|
2008-06-02 17:41:35 -04:00
|
|
|
|
2011-11-21 21:27:26 -05:00
|
|
|
extern int fst_create_editor (VSTState* fst);
|
|
|
|
extern int fst_run_editor (VSTState *);
|
|
|
|
extern void fst_destroy_editor (VSTState *);
|
|
|
|
extern int fst_get_XID (VSTState *);
|
|
|
|
extern void fst_move_window_into_view (VSTState *);
|
2008-06-02 17:41:35 -04:00
|
|
|
|
2011-11-21 20:28:34 -05:00
|
|
|
extern VSTInfo *fst_get_info (char *dllpathname);
|
|
|
|
extern void fst_free_info (VSTInfo *info);
|
2011-11-21 21:27:26 -05:00
|
|
|
extern void fst_event_loop_remove_plugin (VSTState* fst);
|
|
|
|
extern int fst_call_dispatcher (VSTState *, int, int, int, void *, float);
|
2008-06-02 17:41:35 -04:00
|
|
|
|
2009-02-27 12:11:21 -05:00
|
|
|
/**
|
|
|
|
* Load a plugin state from a file.
|
|
|
|
*/
|
2011-11-21 21:27:26 -05:00
|
|
|
extern int fst_load_state (VSTState *, char *);
|
2009-02-27 12:11:21 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Save a plugin state to a file.
|
|
|
|
*/
|
2011-11-21 21:27:26 -05:00
|
|
|
extern int fst_save_state (VSTState *, char *);
|
2008-06-02 17:41:35 -04:00
|
|
|
|
2009-04-15 20:43:41 -04:00
|
|
|
extern int wine_pthread_create (pthread_t* thread_id, const pthread_attr_t* attr, void *(*function)(void*), void* arg);
|
|
|
|
|
|
|
|
|
2008-06-02 17:41:35 -04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* __fst_fst_h__ */
|