diff options
author | unknown <Ben> | 2014-04-11 10:48:12 -0500 |
---|---|---|
committer | unknown <Ben> | 2014-04-11 14:23:29 -0500 |
commit | 6cc2812f2e86a8250ca29dd42846cb3f241cd2d3 (patch) | |
tree | 38cbf84e7b97e4a3b52b1b06b90b4bb2283cc733 /libs/fst/fst.h | |
parent | f67870037681867e36e8e97b991e731d35976089 (diff) |
interim vst fixes
Diffstat (limited to 'libs/fst/fst.h')
-rw-r--r-- | libs/fst/fst.h | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/libs/fst/fst.h b/libs/fst/fst.h index 7b9a67125e..d2b777f77a 100644 --- a/libs/fst/fst.h +++ b/libs/fst/fst.h @@ -9,27 +9,56 @@ #include "ardour/vst_types.h" #include "ardour/vestige/aeffectx.h" +#include "pbd/libpbd_visibility.h" + + +/** + * Display FST error message. + * + * 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). + */ +LIBARDOUR_API void (*fst_error_callback)(const char *msg); + +/** + * Set the @ref fst_error_callback for error message display. + * + * The FST library provides two built-in callbacks for this purpose: + * default_fst_error_callback() and silent_fst_error_callback(). + */ +void fst_set_error_function (void (*func)(const char *)); + +void fst_error (const char *fmt, ...); + #ifdef __cplusplus extern "C" { #endif -LIBARDOUR_API int fst_init (void* possible_hmodule); -LIBARDOUR_API void fst_exit (void); +extern int fst_init (void* possible_hmodule); +extern void fst_exit (void); -LIBARDOUR_API VSTHandle* fst_load (const char*); -LIBARDOUR_API int fst_unload (VSTHandle**); +extern VSTHandle* fst_load (const char*); +extern int fst_unload (VSTHandle**); -LIBARDOUR_API VSTState * fst_instantiate (VSTHandle *, audioMasterCallback amc, void* userptr); -LIBARDOUR_API void fst_close (VSTState *); +extern VSTState * fst_instantiate (VSTHandle *, audioMasterCallback amc, void* userptr); +extern void fst_close (VSTState *); +//these funcs get called from gtk2_ardour, so need to be visible LIBARDOUR_API int fst_run_editor (VSTState *, void* window_parent); LIBARDOUR_API void fst_destroy_editor (VSTState *); LIBARDOUR_API void fst_move_window_into_view (VSTState *); +//---- + +extern void fst_event_loop_remove_plugin (VSTState* fst); + +#ifndef PLATFORM_WINDOWS /* linux + wine */ +extern void fst_start_threading(void); +extern void fst_stop_threading(void); +#endif -LIBARDOUR_API void fst_event_loop_remove_plugin (VSTState* fst); -LIBARDOUR_API void fst_start_threading(void); -LIBARDOUR_API void fst_stop_threading(void); -LIBARDOUR_API void fst_audio_master_idle(void); +extern void fst_audio_master_idle(void); #ifdef __cplusplus } |