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);
|
2014-02-21 11:28:47 -05:00
|
|
|
extern void fst_exit (void);
|
2008-06-02 17:41:35 -04:00
|
|
|
|
2011-11-21 20:28:34 -05:00
|
|
|
extern VSTHandle* fst_load (const char*);
|
2014-02-21 11:28:47 -05:00
|
|
|
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
|
|
|
|
2014-02-21 11:28:47 -05:00
|
|
|
extern int fst_run_editor (VSTState *, void* window_parent);
|
2011-11-21 21:27:26 -05:00
|
|
|
extern void fst_destroy_editor (VSTState *);
|
|
|
|
extern void fst_move_window_into_view (VSTState *);
|
2008-06-02 17:41:35 -04:00
|
|
|
|
2011-11-21 21:27:26 -05:00
|
|
|
extern void fst_event_loop_remove_plugin (VSTState* fst);
|
2014-02-21 20:44:34 -05:00
|
|
|
extern void fst_start_threading(void);
|
|
|
|
extern void fst_stop_threading(void);
|
|
|
|
extern void fst_audio_master_idle(void);
|
2009-04-15 20:43:41 -04:00
|
|
|
|
2008-06-02 17:41:35 -04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* __fst_fst_h__ */
|