1
2/*
3 * speechd_types.h - types for Speech Dispatcher
4 *
5 * Copyright (C) 2001, 2002, 2003 Brailcom, o.p.s.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
10 * any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this package; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
21 */
22
23#ifndef SPEECHD_TYPES_H
24#define SPEECHD_TYPES_H
25
26typedef enum {
27 SPD_PUNCT_ALL = 0,
28 SPD_PUNCT_NONE = 1,
29 SPD_PUNCT_SOME = 2
30} SPDPunctuation;
31
32typedef enum {
33 SPD_CAP_NONE = 0,
34 SPD_CAP_SPELL = 1,
35 SPD_CAP_ICON = 2
36} SPDCapitalLetters;
37
38typedef enum {
39 SPD_SPELL_OFF = 0,
40 SPD_SPELL_ON = 1
41} SPDSpelling;
42
43typedef enum {
44 SPD_MALE1 = 1,
45 SPD_MALE2 = 2,
46 SPD_MALE3 = 3,
47 SPD_FEMALE1 = 4,
48 SPD_FEMALE2 = 5,
49 SPD_FEMALE3 = 6,
50 SPD_CHILD_MALE = 7,
51 SPD_CHILD_FEMALE = 8
52} SPDVoiceType;
53
54typedef struct {
55 char *name; /* Name of the voice (id) */
56 char *language; /* 2-letter ISO language code */
57 char *variant; /* a not-well defined string describing dialect etc. */
58} SPDVoice;
59
60typedef enum {
61 SPD_DATA_TEXT = 0,
62 SPD_DATA_SSML = 1
63} SPDDataMode;
64
65typedef enum {
66 SPD_IMPORTANT = 1,
67 SPD_MESSAGE = 2,
68 SPD_TEXT = 3,
69 SPD_NOTIFICATION = 4,
70 SPD_PROGRESS = 5
71} SPDPriority;
72
73typedef enum {
74 SPD_BEGIN = 1,
75 SPD_END = 2,
76 SPD_INDEX_MARKS = 4,
77 SPD_CANCEL = 8,
78 SPD_PAUSE = 16,
79 SPD_RESUME = 32,
80
81 SPD_ALL = 0x3f
82} SPDNotification;
83
84typedef enum {
85 SPD_EVENT_BEGIN,
86 SPD_EVENT_END,
87 SPD_EVENT_INDEX_MARK,
88 SPD_EVENT_CANCEL,
89 SPD_EVENT_PAUSE,
90 SPD_EVENT_RESUME
91} SPDNotificationType;
92
93typedef enum {
94 SORT_BY_TIME = 0,
95 SORT_BY_ALPHABET = 1
96} ESort;
97
98typedef enum {
99 SPD_MSGTYPE_TEXT = 0,
100 SPD_MSGTYPE_SOUND_ICON = 1,
101 SPD_MSGTYPE_CHAR = 2,
102 SPD_MSGTYPE_KEY = 3,
103 SPD_MSGTYPE_SPELL = 99
104} SPDMessageType;
105
106typedef struct {
107 signed int rate;
108 signed int pitch;
109 signed int volume;
110
111 SPDPunctuation punctuation_mode;
112 SPDSpelling spelling_mode;
113 SPDCapitalLetters cap_let_recogn;
114
115 SPDVoiceType voice_type;
116 SPDVoice voice;
117} SPDMsgSettings;
118
119#endif /* not ifndef SPEECHD_TYPES */
120