2 * Copyright (c) 2011-2016 Samsung Electronics Co., Ltd All Rights Reserved
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 * http://www.apache.org/licenses/LICENSE-2.0
7 * Unless required by applicable law or agreed to in writing, software
8 * distributed under the License is distributed on an "AS IS" BASIS,
9 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 * See the License for the specific language governing permissions and
11 * limitations under the License.
18 /* For multi-user support */
19 #include <tzplatform_config.h>
26 /******************************************************************************************
28 *******************************************************************************************/
29 #define TTS_SERVER_ENGINE_DEFAULT "org.tizen.tts-engine-default"
31 #define TTS_CLIENT_SERVICE_NAME "org.tizen.tts"
32 #define TTS_CLIENT_SERVICE_OBJECT_PATH "/org/tizen/tts"
33 #define TTS_CLIENT_SERVICE_INTERFACE "org.tizen.tts"
35 #define TTS_SERVER_SERVICE_NAME "org.tizen.voice.ttsserver"
36 #define TTS_SERVER_SERVICE_OBJECT_PATH "/org/tizen/voice/ttsserver"
37 #define TTS_SERVER_SERVICE_INTERFACE "org.tizen.voice.ttsserver"
39 #define TTS_NOTI_SERVER_SERVICE_NAME "org.tizen.voice.ttsnotiserver"
40 #define TTS_NOTI_SERVER_SERVICE_OBJECT_PATH "/org/tizen/voice/ttsnotiserver"
41 #define TTS_NOTI_SERVER_SERVICE_INTERFACE "org.tizen.voice.ttsnotiserver"
42 //#define TTS_NOTI_SERVER_MODE "-noti"
44 #define TTS_SR_SERVER_SERVICE_NAME "org.tizen.voice.ttssrserver"
45 #define TTS_SR_SERVER_SERVICE_OBJECT_PATH "/org/tizen/voice/ttssrserver"
46 #define TTS_SR_SERVER_SERVICE_INTERFACE "org.tizen.voice.ttssrserver"
47 //#define TTS_SR_SERVER_MODE "-sr"
49 #define TTS_INTERRUPT_SERVER_SERVICE_NAME "org.tizen.voice.ttsinterruptserver"
50 #define TTS_INTERRUPT_SERVER_SERVICE_OBJECT_PATH "/org/tizen/voice/ttsinterruptserver"
51 #define TTS_INTERRUPT_SERVER_SERVICE_INTERFACE "org.tizen.voice.ttsinterruptserver"
52 #define TTS_INTERRUPT_SERVER_MODE "-interrupt"
54 /******************************************************************************************
55 * Message Definition for APIs
56 *******************************************************************************************/
57 #define TTS_BUNDLE_METHOD "method"
58 #define TTS_BUNDLE_MESSAGE "message"
59 #define TTS_BUNDLE_UTTID "uttid"
60 #define TTS_BUNDLE_REASON "reason"
61 #define TTS_BUNDLE_ERR_MSG "err_msg"
62 #define TTS_BUNDLE_CREDENTIAL_NEEDED "credential_needed"
63 #define TTS_BUNDLE_BEFORE_STATE "before_state"
64 #define TTS_BUNDLE_CURRENT_STATE "current_state"
65 #define TTS_BUNDLE_PCM_EVENT "pcm_event"
66 #define TTS_BUNDLE_PCM_DATA "pcm_data"
67 #define TTS_BUNDLE_PCM_AUDIO_TYPE "pcm_audio_type"
68 #define TTS_BUNDLE_PCM_SAMPLE_RATE "pcm_sample_rate"
70 #define TTS_METHOD_HELLO "tts_method_hello"
71 #define TTS_METHOD_HELLO_SYNC "tts_method_hello_sync"
72 #define TTS_METHOD_INITIALIZE "tts_method_initialize"
73 #define TTS_METHOD_FINALIZE "tts_method_finalilze"
74 #define TTS_METHOD_GET_SUPPORT_VOICES "tts_method_get_support_voices"
75 #define TTS_METHOD_GET_CURRENT_VOICE "tts_method_get_current_voice"
76 #define TTS_METHOD_ADD_TEXT "tts_method_add_text"
77 #define TTS_METHOD_ADD_SILENT_UTTERANCE "tts_method_add_silent_utterance"
78 #define TTS_METHOD_ADD_TEXT_WITH_SYNTHESIS_PARAMETER "tts_method_add_text_with_systhesis_parameter"
79 #define TTS_METHOD_PLAY "tts_method_play"
80 #define TTS_METHOD_STOP "tts_method_stop"
81 #define TTS_METHOD_PAUSE "tts_method_pause"
82 #define TTS_METHOD_PLAY_PCM "tts_method_play_pcm"
83 #define TTS_METHOD_STOP_PCM "tts_method_stop_pcm"
84 #define TTS_METHOD_ADD_PCM "tts_method_add_pcm"
85 #define TTS_METHOD_GET_SERVICE_STATE "tts_method_get_service_state"
87 #define TTS_METHOD_SET_PRIVATE_DATA "tts_method_set_private_data"
88 #define TTS_METHOD_GET_PRIVATE_DATA "tts_method_get_private_data"
89 #define TTS_METHOD_SET_CREDENTIAL "tts_method_set_credential"
91 #define TTSD_METHOD_HELLO "ttsd_method_hello"
92 #define TTSD_METHOD_UTTERANCE_STARTED "ttsd_method_utterance_started"
93 #define TTSD_METHOD_UTTERANCE_COMPLETED "ttsd_method_utterance_completed"
94 #define TTSD_METHOD_ERROR "ttsd_method_error"
95 #define TTSD_METHOD_SET_STATE "ttsd_method_set_state"
96 #define TTSD_METHOD_SET_SERVICE_STATE "ttsd_method_set_service_state"
97 #define TTSD_METHOD_SEND_PCM "ttsd_method_send_pcm"
100 /******************************************************************************************
101 * Defines for configuration
102 *******************************************************************************************/
104 #define TTS_CONFIG_BASE tzplatform_mkpath(tzplatform_getid("TZ_SYS_GLOBALUSER_DATA"), ".voice")
105 #define TTS_CONFIG tzplatform_mkpath(tzplatform_getid("TZ_SYS_GLOBALUSER_DATA"), ".voice/tts-config.xml")
106 #define TTS_DEFAULT_CONFIG tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/tts-config.xml")
108 #define TTS_DEFAULT_ENGINE tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine")
109 #define TTS_DEFAULT_ENGINE_INFO tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine-info")
110 #define TTS_DEFAULT_ENGINE_SETTING tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine-setting")
112 #define TTS_HOME tzplatform_mkpath(tzplatform_getid("TZ_SYS_GLOBALUSER_DATA"), ".voice/tts")
113 #define TTS_DOWNLOAD_ENGINE_INFO tzplatform_mkpath(tzplatform_getid("TZ_SYS_GLOBALUSER_DATA"), ".voice/tts/engine-info")
114 #define TTS_DOWNLOAD_PERSONAL_INFO tzplatform_mkpath(tzplatform_getid("TZ_SYS_GLOBALUSER_DATA"), ".voice/tts/personal-info")
118 #define TTS_BASE_LANGUAGE "en_US"
120 #define TTS_RETRY_COUNT 7
121 #define TTS_RETRY_MIN_COUNT 2
122 #define TTS_CONNECTION_RETRY_COUNT 10
123 #define TTS_HELLO_RETRY_COUNT 40 // 500 ms * 40 = 20 sec
125 #define TTS_SPEED_MIN 1
126 #define TTS_SPEED_NORMAL 8
127 #define TTS_SPEED_MAX 15
129 #define TTS_PITCH_MIN 1
130 #define TTS_PITCH_NORMAL 8
131 #define TTS_PITCH_MAX 15
133 #define TTS_FEATURE_PATH "tizen.org/feature/speech.synthesis"
135 #define TTS_ERROR_ALREADY_INITIALIZED -999
136 #define TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED -1
138 #define TTS_ENGINE_APPID_LEN 256
139 #define TTS_INVALID_UID 0
141 /******************************************************************************************
142 * Defines for vconf key
143 *******************************************************************************************/
145 #define TTS_ACCESSIBILITY_KEY VCONFKEY_SETAPPL_ACCESSIBILITY_TTS
147 #define TTS_LANGSET_KEY VCONFKEY_LANGSET
149 #define TTS_ENGINE_DB_DEFAULT "db/voice/tts/engine/default"
151 #define TTS_PLAYING_STATUS_KEY "memory/tts/engine/voice-guide-playing"
153 #define TTS_VCONF_INSTANT_REPREPARE_CLIENT "db/voice/tts/instant-reprepare-client"
156 /******************************************************************************************
157 * Defines for log tag
158 *******************************************************************************************/
159 #define TAG_TTSC "ttsc"
160 #define TAG_TTSCONFIG "ttsconfig"
163 /******************************************************************************************
164 * Enumeration for registered callbacks
165 *******************************************************************************************/
167 TTS_EVENT_MASK_STATE_CHANGED = (0x01 << 0), /**< State changed event */
168 TTS_EVENT_MASK_UTTERANCE_STARTED = (0x01 << 1), /**< Utterance changed event */
169 TTS_EVENT_MASK_UTTERANCE_COMPLETED = (0x01 << 2), /**< Utterance completed event */
170 TTS_EVENT_MASK_ERROR = (0x01 << 3), /**< Error event */
171 TTS_EVENT_MASK_DEFAULT_VOICE_CHANGED = (0x01 << 4), /**< Default voice changed event */
172 TTS_EVENT_MASK_ENGINE_CHANGED = (0x01 << 5), /**< Engine changed event */
173 TTS_EVENT_MASK_SCREEN_READER_CHANGED = (0x01 << 6), /**< Screen reader changed event */
174 TTS_EVENT_MASK_SERVICE_STATE_CHANGED = (0x01 << 7), /**< Service state changed event */
182 #endif /* _TTS_DEFS_H__ */