summaryrefslogtreecommitdiff
path: root/thirdparty/linuxbsd_headers/speechd
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/linuxbsd_headers/speechd')
-rw-r--r--thirdparty/linuxbsd_headers/speechd/libspeechd.h248
-rw-r--r--thirdparty/linuxbsd_headers/speechd/libspeechd_version.h31
-rw-r--r--thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h75
-rw-r--r--thirdparty/linuxbsd_headers/speechd/speechd_defines.h34
-rw-r--r--thirdparty/linuxbsd_headers/speechd/speechd_types.h119
5 files changed, 507 insertions, 0 deletions
diff --git a/thirdparty/linuxbsd_headers/speechd/libspeechd.h b/thirdparty/linuxbsd_headers/speechd/libspeechd.h
new file mode 100644
index 0000000000..21b9313cae
--- /dev/null
+++ b/thirdparty/linuxbsd_headers/speechd/libspeechd.h
@@ -0,0 +1,248 @@
+/*
+ * libspeechd.h - Shared library for easy acces to Speech Dispatcher functions (header)
+ *
+ * Copyright (C) 2001, 2002, 2003, 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
+ * Lesser 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.
+ *
+ * $Id: libspeechd.h,v 1.29 2008-07-30 09:47:00 hanke Exp $
+ */
+
+#ifndef _LIBSPEECHD_H
+#define _LIBSPEECHD_H
+
+#include <stdio.h>
+#include <stddef.h>
+#include <pthread.h>
+
+#include "libspeechd_version.h"
+#include "speechd_types.h"
+
+/* *INDENT-OFF* */
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* *INDENT-ON* */
+ /* Speech Dispatcher's default port for inet communication */
+#define SPEECHD_DEFAULT_PORT 6560
+
+ /* Arguments for spd_send_data() */
+#define SPD_WAIT_REPLY 1 /* Wait for reply */
+#define SPD_NO_REPLY 0 /* No reply requested */
+
+ /* --------------------- Public data types ------------------------ */
+
+typedef enum {
+ SPD_MODE_SINGLE = 0,
+ SPD_MODE_THREADED = 1
+} SPDConnectionMode;
+
+typedef enum {
+ SPD_METHOD_UNIX_SOCKET = 0,
+ SPD_METHOD_INET_SOCKET = 1,
+} SPDConnectionMethod;
+
+typedef struct {
+ SPDConnectionMethod method;
+ char *unix_socket_name;
+ char *inet_socket_host;
+ int inet_socket_port;
+ char *dbus_bus;
+} SPDConnectionAddress;
+
+void SPDConnectionAddress__free(SPDConnectionAddress * address);
+
+typedef void (*SPDCallback) (size_t msg_id, size_t client_id,
+ SPDNotificationType state);
+typedef void (*SPDCallbackIM) (size_t msg_id, size_t client_id,
+ SPDNotificationType state, char *index_mark);
+
+typedef struct {
+
+ /* PUBLIC */
+ SPDCallback callback_begin;
+ SPDCallback callback_end;
+ SPDCallback callback_cancel;
+ SPDCallback callback_pause;
+ SPDCallback callback_resume;
+ SPDCallbackIM callback_im;
+
+ /* PRIVATE */
+ int socket;
+ FILE *stream;
+ SPDConnectionMode mode;
+
+ pthread_mutex_t *ssip_mutex;
+
+ pthread_t *events_thread;
+ pthread_mutex_t *comm_mutex;
+ pthread_cond_t *cond_reply_ready;
+ pthread_mutex_t *mutex_reply_ready;
+ pthread_cond_t *cond_reply_ack;
+ pthread_mutex_t *mutex_reply_ack;
+
+ char *reply;
+
+} SPDConnection;
+
+/* -------------- Public functions --------------------------*/
+
+/* Opening and closing Speech Dispatcher connection */
+SPDConnectionAddress *spd_get_default_address(char **error);
+SPDConnection *spd_open(const char *client_name, const char *connection_name,
+ const char *user_name, SPDConnectionMode mode);
+SPDConnection *spd_open2(const char *client_name, const char *connection_name,
+ const char *user_name, SPDConnectionMode mode,
+ SPDConnectionAddress * address, int autospawn,
+ char **error_result);
+
+void spd_close(SPDConnection * connection);
+
+/* Speaking */
+int spd_say(SPDConnection * connection, SPDPriority priority, const char *text);
+int spd_sayf(SPDConnection * connection, SPDPriority priority,
+ const char *format, ...);
+
+/* Speech flow */
+int spd_stop(SPDConnection * connection);
+int spd_stop_all(SPDConnection * connection);
+int spd_stop_uid(SPDConnection * connection, int target_uid);
+
+int spd_cancel(SPDConnection * connection);
+int spd_cancel_all(SPDConnection * connection);
+int spd_cancel_uid(SPDConnection * connection, int target_uid);
+
+int spd_pause(SPDConnection * connection);
+int spd_pause_all(SPDConnection * connection);
+int spd_pause_uid(SPDConnection * connection, int target_uid);
+
+int spd_resume(SPDConnection * connection);
+int spd_resume_all(SPDConnection * connection);
+int spd_resume_uid(SPDConnection * connection, int target_uid);
+
+/* Characters and keys */
+int spd_key(SPDConnection * connection, SPDPriority priority,
+ const char *key_name);
+int spd_char(SPDConnection * connection, SPDPriority priority,
+ const char *character);
+int spd_wchar(SPDConnection * connection, SPDPriority priority,
+ wchar_t wcharacter);
+
+/* Sound icons */
+int spd_sound_icon(SPDConnection * connection, SPDPriority priority,
+ const char *icon_name);
+
+/* Setting parameters */
+int spd_set_voice_type(SPDConnection *, SPDVoiceType type);
+int spd_set_voice_type_all(SPDConnection *, SPDVoiceType type);
+int spd_set_voice_type_uid(SPDConnection *, SPDVoiceType type,
+ unsigned int uid);
+SPDVoiceType spd_get_voice_type(SPDConnection *);
+
+int spd_set_synthesis_voice(SPDConnection *, const char *voice_name);
+int spd_set_synthesis_voice_all(SPDConnection *, const char *voice_name);
+int spd_set_synthesis_voice_uid(SPDConnection *, const char *voice_name,
+ unsigned int uid);
+
+int spd_set_data_mode(SPDConnection * connection, SPDDataMode mode);
+
+int spd_set_notification_on(SPDConnection * connection,
+ SPDNotification notification);
+int spd_set_notification_off(SPDConnection * connection,
+ SPDNotification notification);
+int spd_set_notification(SPDConnection * connection,
+ SPDNotification notification, const char *state);
+
+int spd_set_voice_rate(SPDConnection * connection, signed int rate);
+int spd_set_voice_rate_all(SPDConnection * connection, signed int rate);
+int spd_set_voice_rate_uid(SPDConnection * connection, signed int rate,
+ unsigned int uid);
+int spd_get_voice_rate(SPDConnection * connection);
+
+int spd_set_voice_pitch(SPDConnection * connection, signed int pitch);
+int spd_set_voice_pitch_all(SPDConnection * connection, signed int pitch);
+int spd_set_voice_pitch_uid(SPDConnection * connection, signed int pitch,
+ unsigned int uid);
+int spd_get_voice_pitch(SPDConnection * connection);
+
+int spd_set_volume(SPDConnection * connection, signed int volume);
+int spd_set_volume_all(SPDConnection * connection, signed int volume);
+int spd_set_volume_uid(SPDConnection * connection, signed int volume,
+ unsigned int uid);
+int spd_get_volume(SPDConnection * connection);
+
+int spd_set_punctuation(SPDConnection * connection, SPDPunctuation type);
+int spd_set_punctuation_all(SPDConnection * connection, SPDPunctuation type);
+int spd_set_punctuation_uid(SPDConnection * connection, SPDPunctuation type,
+ unsigned int uid);
+
+int spd_set_capital_letters(SPDConnection * connection, SPDCapitalLetters type);
+int spd_set_capital_letters_all(SPDConnection * connection,
+ SPDCapitalLetters type);
+int spd_set_capital_letters_uid(SPDConnection * connection,
+ SPDCapitalLetters type, unsigned int uid);
+
+int spd_set_spelling(SPDConnection * connection, SPDSpelling type);
+int spd_set_spelling_all(SPDConnection * connection, SPDSpelling type);
+int spd_set_spelling_uid(SPDConnection * connection, SPDSpelling type,
+ unsigned int uid);
+
+int spd_set_language(SPDConnection * connection, const char *language);
+int spd_set_language_all(SPDConnection * connection, const char *language);
+int spd_set_language_uid(SPDConnection * connection, const char *language,
+ unsigned int uid);
+char *spd_get_language(SPDConnection * connection);
+
+int spd_set_output_module(SPDConnection * connection,
+ const char *output_module);
+int spd_set_output_module_all(SPDConnection * connection,
+ const char *output_module);
+int spd_set_output_module_uid(SPDConnection * connection,
+ const char *output_module, unsigned int uid);
+
+int spd_get_client_list(SPDConnection * connection, char **client_names,
+ int *client_ids, int *active);
+int spd_get_message_list_fd(SPDConnection * connection, int target,
+ int *msg_ids, char **client_names);
+
+char **spd_list_modules(SPDConnection * connection);
+void free_spd_modules(char **);
+char *spd_get_output_module(SPDConnection * connection);
+
+char **spd_list_voices(SPDConnection * connection);
+SPDVoice **spd_list_synthesis_voices(SPDConnection * connection);
+void free_spd_voices(SPDVoice ** voices);
+char **spd_execute_command_with_list_reply(SPDConnection * connection,
+ char *command);
+
+/* Direct SSIP communication */
+int spd_execute_command(SPDConnection * connection, char *command);
+int spd_execute_command_with_reply(SPDConnection * connection, char *command,
+ char **reply);
+int spd_execute_command_wo_mutex(SPDConnection * connection, char *command);
+char *spd_send_data(SPDConnection * connection, const char *message, int wfr);
+char *spd_send_data_wo_mutex(SPDConnection * connection, const char *message,
+ int wfr);
+
+
+
+/* *INDENT-OFF* */
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+/* *INDENT-ON* */
+
+#endif /* ifndef _LIBSPEECHD_H */
diff --git a/thirdparty/linuxbsd_headers/speechd/libspeechd_version.h b/thirdparty/linuxbsd_headers/speechd/libspeechd_version.h
new file mode 100644
index 0000000000..bfe4d6bc21
--- /dev/null
+++ b/thirdparty/linuxbsd_headers/speechd/libspeechd_version.h
@@ -0,0 +1,31 @@
+/*
+ * libspeechd_version.h - Shared library for easy access to Speech Dispatcher functions (header)
+ *
+ * Copyright (C) 2001, 2002, 2003, 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
+ * Lesser 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.
+ *
+ * $Id: libspeechd.h,v 1.29 2008-07-30 09:47:00 hanke Exp $
+ */
+
+#ifndef _LIBSPEECHD_VERSION_H
+#define _LIBSPEECHD_VERSION_H
+
+#define LIBSPEECHD_MAJOR_VERSION 0
+#define LIBSPEECHD_MINOR_VERSION 8
+#define LIBSPEECHD_MICRO_VERSION 8
+
+#endif /* ifndef _LIBSPEECHD_VERSION_H */
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 */
diff --git a/thirdparty/linuxbsd_headers/speechd/speechd_defines.h b/thirdparty/linuxbsd_headers/speechd/speechd_defines.h
new file mode 100644
index 0000000000..f1cd195339
--- /dev/null
+++ b/thirdparty/linuxbsd_headers/speechd/speechd_defines.h
@@ -0,0 +1,34 @@
+/*
+ * speechd_defines.h - macros for Speech Dispatcher
+ *
+ * Copyright (C) 2015 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
+ * Lesser 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 SPEECHD_DEFINES_H
+#define SPEECHD_DEFINES_H
+
+#define SPD_ALLCLIENTS "ALL"
+#define SPD_SELF "SELF"
+#define SPD_VOLUME "VOLUME"
+#define SPD_PITCH "PITCH"
+#define SPD_RATE "RATE"
+#define SPD_LANGUAGE "LANGUAGE"
+#define SPD_OUTPUT_MODULE "OUTPUT_MODULE"
+#define SPD_SYNTHESIS_VOICE "SYNTHESIS_VOICE"
+
+#endif /* not ifndef SPEECHD_DEFINES_H */
diff --git a/thirdparty/linuxbsd_headers/speechd/speechd_types.h b/thirdparty/linuxbsd_headers/speechd/speechd_types.h
new file mode 100644
index 0000000000..07c1974ff0
--- /dev/null
+++ b/thirdparty/linuxbsd_headers/speechd/speechd_types.h
@@ -0,0 +1,119 @@
+
+/*
+ * speechd_types.h - types for Speech Dispatcher
+ *
+ * Copyright (C) 2001, 2002, 2003 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
+ * Lesser 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 SPEECHD_TYPES_H
+#define SPEECHD_TYPES_H
+
+typedef enum {
+ SPD_PUNCT_ALL = 0,
+ SPD_PUNCT_NONE = 1,
+ SPD_PUNCT_SOME = 2
+} SPDPunctuation;
+
+typedef enum {
+ SPD_CAP_NONE = 0,
+ SPD_CAP_SPELL = 1,
+ SPD_CAP_ICON = 2
+} SPDCapitalLetters;
+
+typedef enum {
+ SPD_SPELL_OFF = 0,
+ SPD_SPELL_ON = 1
+} SPDSpelling;
+
+typedef enum {
+ SPD_MALE1 = 1,
+ SPD_MALE2 = 2,
+ SPD_MALE3 = 3,
+ SPD_FEMALE1 = 4,
+ SPD_FEMALE2 = 5,
+ SPD_FEMALE3 = 6,
+ SPD_CHILD_MALE = 7,
+ SPD_CHILD_FEMALE = 8
+} SPDVoiceType;
+
+typedef struct {
+ char *name; /* Name of the voice (id) */
+ char *language; /* 2-letter ISO language code */
+ char *variant; /* a not-well defined string describing dialect etc. */
+} SPDVoice;
+
+typedef enum {
+ SPD_DATA_TEXT = 0,
+ SPD_DATA_SSML = 1
+} SPDDataMode;
+
+typedef enum {
+ SPD_IMPORTANT = 1,
+ SPD_MESSAGE = 2,
+ SPD_TEXT = 3,
+ SPD_NOTIFICATION = 4,
+ SPD_PROGRESS = 5
+} SPDPriority;
+
+typedef enum {
+ SPD_BEGIN = 1,
+ SPD_END = 2,
+ SPD_INDEX_MARKS = 4,
+ SPD_CANCEL = 8,
+ SPD_PAUSE = 16,
+ SPD_RESUME = 32,
+
+ SPD_ALL = 0x3f
+} SPDNotification;
+
+typedef enum {
+ SPD_EVENT_BEGIN,
+ SPD_EVENT_END,
+ SPD_EVENT_INDEX_MARK,
+ SPD_EVENT_CANCEL,
+ SPD_EVENT_PAUSE,
+ SPD_EVENT_RESUME
+} SPDNotificationType;
+
+typedef enum {
+ SORT_BY_TIME = 0,
+ SORT_BY_ALPHABET = 1
+} ESort;
+
+typedef enum {
+ SPD_MSGTYPE_TEXT = 0,
+ SPD_MSGTYPE_SOUND_ICON = 1,
+ SPD_MSGTYPE_CHAR = 2,
+ SPD_MSGTYPE_KEY = 3,
+ SPD_MSGTYPE_SPELL = 99
+} SPDMessageType;
+
+typedef struct {
+ signed int rate;
+ signed int pitch;
+ signed int volume;
+
+ SPDPunctuation punctuation_mode;
+ SPDSpelling spelling_mode;
+ SPDCapitalLetters cap_let_recogn;
+
+ SPDVoiceType voice_type;
+ SPDVoice voice;
+} SPDMsgSettings;
+
+#endif /* not ifndef SPEECHD_TYPES */