diff options
Diffstat (limited to 'thirdparty/linuxbsd_headers/speechd')
-rw-r--r-- | thirdparty/linuxbsd_headers/speechd/libspeechd.h | 248 | ||||
-rw-r--r-- | thirdparty/linuxbsd_headers/speechd/libspeechd_version.h | 31 | ||||
-rw-r--r-- | thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h | 75 | ||||
-rw-r--r-- | thirdparty/linuxbsd_headers/speechd/speechd_defines.h | 34 | ||||
-rw-r--r-- | thirdparty/linuxbsd_headers/speechd/speechd_types.h | 119 |
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 */ |