Add internal method to play pcm data
[platform/core/uifw/tts.git] / common / tts_defs.h
1 /*
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.
12 */
13
14
15 #ifndef _TTS_DEFS_H__
16 #define _TTS_DEFS_H__
17
18 /* For multi-user support */
19 #include <tzplatform_config.h>
20 #include <vconf.h>
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /******************************************************************************************
27 * Definition for IPC
28 *******************************************************************************************/
29
30 #define TTS_CLIENT_SERVICE_NAME         "org.tizen.tts"
31 #define TTS_CLIENT_SERVICE_OBJECT_PATH  "/org/tizen/tts"
32 #define TTS_CLIENT_SERVICE_INTERFACE    "org.tizen.tts"
33
34 #define TTS_SERVER_SERVICE_NAME         "org.tizen.voice.ttsserver"
35 #define TTS_SERVER_SERVICE_OBJECT_PATH  "/org/tizen/voice/ttsserver"
36 #define TTS_SERVER_SERVICE_INTERFACE    "org.tizen.voice.ttsserver"
37
38 #define TTS_NOTI_SERVER_SERVICE_NAME            "org.tizen.voice.ttsnotiserver"
39 #define TTS_NOTI_SERVER_SERVICE_OBJECT_PATH     "/org/tizen/voice/ttsnotiserver"
40 #define TTS_NOTI_SERVER_SERVICE_INTERFACE       "org.tizen.voice.ttsnotiserver"
41
42 #define TTS_SR_SERVER_SERVICE_NAME              "org.tizen.voice.ttssrserver"
43 #define TTS_SR_SERVER_SERVICE_OBJECT_PATH       "/org/tizen/voice/ttssrserver"
44 #define TTS_SR_SERVER_SERVICE_INTERFACE         "org.tizen.voice.ttssrserver"
45
46 /******************************************************************************************
47 * Message Definition for APIs
48 *******************************************************************************************/
49
50 #define TTS_METHOD_HELLO                "tts_method_hello"
51 #define TTS_METHOD_INITIALIZE           "tts_method_initialize"
52 #define TTS_METHOD_FINALIZE             "tts_method_finalilze"
53 #define TTS_METHOD_GET_SUPPORT_VOICES   "tts_method_get_support_voices"
54 #define TTS_METHOD_GET_CURRENT_VOICE    "tts_method_get_current_voice"
55 #define TTS_METHOD_ADD_QUEUE            "tts_method_add_queue"
56 #define TTS_METHOD_PLAY                 "tts_method_play"
57 #define TTS_METHOD_STOP                 "tts_method_stop"
58 #define TTS_METHOD_PAUSE                "tts_method_pause"
59 #define TTS_METHOD_PLAY_PCM             "tts_method_play_pcm"
60 #define TTS_METHOD_STOP_PCM             "tts_method_stop_pcm"
61 #define TTS_METHOD_ADD_PCM              "tts_method_add_pcm"
62
63 #define TTS_METHOD_SET_PRIVATE_DATA     "tts_method_set_private_data"
64 #define TTS_METHOD_GET_PRIVATE_DATA     "tts_method_get_private_data"
65 #define TTS_METHOD_SET_CREDENTIAL       "tts_method_set_credential"
66
67 #define TTSD_METHOD_HELLO               "ttsd_method_hello"
68 #define TTSD_METHOD_UTTERANCE_STARTED   "ttsd_method_utterance_started"
69 #define TTSD_METHOD_UTTERANCE_COMPLETED "ttsd_method_utterance_completed"
70 #define TTSD_METHOD_ERROR               "ttsd_method_error"
71 #define TTSD_METHOD_SET_STATE           "ttsd_method_set_state"
72
73
74 /******************************************************************************************
75 * Defines for configuration
76 *******************************************************************************************/
77
78 #define TTS_CONFIG_BASE                 tzplatform_mkpath(TZ_USER_HOME, "/share/.voice")
79 #define TTS_CONFIG                      tzplatform_mkpath(TZ_USER_HOME, "/share/.voice/tts-config.xml")
80 #define TTS_DEFAULT_CONFIG              tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/1.0/tts-config.xml")
81
82 #define TTS_DEFAULT_ENGINE              tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/1.0/engine")
83 #define TTS_DEFAULT_ENGINE_INFO         tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/1.0/engine-info")
84 #define TTS_DEFAULT_ENGINE_SETTING      tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/1.0/engine-setting")
85
86 #define TTS_HOME                        tzplatform_mkpath(TZ_USER_HOME, "/share/.voice/tts")
87 #define TTS_DOWNLOAD_BASE               tzplatform_mkpath(TZ_USER_HOME, "/share/.voice/tts/1.0")
88 #define TTS_DOWNLOAD_ENGINE_INFO        tzplatform_mkpath(TZ_USER_HOME, "share/.voice/tts/1.0/engine-info")
89
90 #define TTS_BASE_LANGUAGE               "en_US"
91
92 #define TTS_RETRY_COUNT         5
93 #define TTS_RETRY_MIN_COUNT     2
94
95 #define TTS_SPEED_MIN           1
96 #define TTS_SPEED_NORMAL        8
97 #define TTS_SPEED_MAX           15
98
99 #define TTS_PITCH_MIN           1
100 #define TTS_PITCH_NORMAL        8
101 #define TTS_PITCH_MAX           15
102
103 #define TTS_MAX_TEXT_SIZE       2000
104
105 #define TTS_FEATURE_PATH        "tizen.org/feature/speech.synthesis"
106
107 /******************************************************************************************
108 * Defines for vconf key
109 *******************************************************************************************/
110
111 #define TTS_ACCESSIBILITY_KEY           VCONFKEY_SETAPPL_ACCESSIBILITY_TTS
112
113 #define TTS_LANGSET_KEY                 VCONFKEY_LANGSET
114
115 #define TTS_ENGINE_DB_DEFAULT       "db/voice/tts/engine/default"
116
117 #ifdef __cplusplus
118 }
119 #endif
120
121 #endif  /* _TTS_DEFS_H__ */