summaryrefslogtreecommitdiffstats
path: root/thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h')
-rw-r--r--thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h b/thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h
new file mode 100644
index 0000000000..85f2850972
--- /dev/null
+++ b/thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h
@@ -0,0 +1,75 @@
+/*
+ * spd_audio_plugin.h -- The SPD Audio Plugin Header
+ *
+ * Copyright (C) 2004 Brailcom, o.p.s.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1, or (at your option) any later
+ * version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this package; see the file COPYING. If not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ */
+
+#ifndef __SPD_AUDIO_PLUGIN_H
+#define __SPD_AUDIO_PLUGIN_H
+
+#define SPD_AUDIO_PLUGIN_ENTRY_STR "spd_audio_plugin_get"
+
+/* *INDENT-OFF* */
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* *INDENT-ON* */
+
+typedef enum { SPD_AUDIO_LE, SPD_AUDIO_BE } AudioFormat;
+
+typedef struct {
+ int bits;
+ int num_channels;
+ int sample_rate;
+
+ int num_samples;
+ signed short *samples;
+} AudioTrack;
+
+struct spd_audio_plugin;
+
+typedef struct {
+
+ int volume;
+ AudioFormat format;
+
+ struct spd_audio_plugin const *function;
+ void *private_data;
+
+ int working;
+} AudioID;
+
+typedef struct spd_audio_plugin {
+ const char *name;
+ AudioID *(*open) (void **pars);
+ int (*play) (AudioID * id, AudioTrack track);
+ int (*stop) (AudioID * id);
+ int (*close) (AudioID * id);
+ int (*set_volume) (AudioID * id, int);
+ void (*set_loglevel) (int level);
+ char const *(*get_playcmd) (void);
+} spd_audio_plugin_t;
+
+/* *INDENT-OFF* */
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+/* *INDENT-ON* */
+
+#endif /* ifndef #__SPD_AUDIO_PLUGIN_H */