summaryrefslogtreecommitdiffstats
path: root/include/xas
diff options
context:
space:
mode:
Diffstat (limited to 'include/xas')
-rw-r--r--include/xas/synth.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/xas/synth.h b/include/xas/synth.h
new file mode 100644
index 0000000..4d0fbd0
--- /dev/null
+++ b/include/xas/synth.h
@@ -0,0 +1,24 @@
+#ifndef _XAS_SYNTH_H
+#define _XAS_SYNTH_H
+
+#include <stdint.h>
+
+typedef struct _xas_synth xas_synth;
+
+typedef int16_t (*xas_synth_callback_sample)(xas_synth *synth, void *ctx);
+
+typedef void (*xas_synth_callback_destroy)(xas_synth *synth, void *ctx);
+
+struct _xas_synth {
+ xas_synth_callback_sample sample;
+ xas_synth_callback_destroy destroy;
+ void *ctx;
+};
+
+xas_synth *xas_synth_new(xas_synth_callback_sample sample,
+ xas_synth_callback_destroy destroy,
+ void *ctx);
+
+void xas_synth_destroy(xas_synth *synth);
+
+#endif /* _XAS_SYNTH_H */