summaryrefslogtreecommitdiff
path: root/libs/fst/fst.h
diff options
context:
space:
mode:
authorunknown <Ben>2014-04-11 10:48:12 -0500
committerunknown <Ben>2014-04-11 14:23:29 -0500
commit6cc2812f2e86a8250ca29dd42846cb3f241cd2d3 (patch)
tree38cbf84e7b97e4a3b52b1b06b90b4bb2283cc733 /libs/fst/fst.h
parentf67870037681867e36e8e97b991e731d35976089 (diff)
interim vst fixes
Diffstat (limited to 'libs/fst/fst.h')
-rw-r--r--libs/fst/fst.h49
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
}