Tizen 2.0 Release
[platform/core/uifw/libttssmt.git] / src / plugin_internal.h
1 /*\r
2  * Samsung TTS\r
3  * Copyright 2012  Samsung Electronics Co., Ltd\r
4  *\r
5  * Licensed under the Flora License, Version 1.0 (the License);\r
6  * you may not use this file except in compliance with the License.\r
7  * You may obtain a copy of the License at\r
8  *\r
9  * http://floralicense.org/license/\r
10  *\r
11  * Unless required by applicable law or agreed to in writing, software\r
12  * distributed under the License is distributed on an AS IS BASIS,\r
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14  * See the License for the specific language governing permissions and\r
15  * limitations under the License.\r
16  */\r
17 \r
18 \r
19 #ifndef _PLUGIN_INTERNAL_H_\r
20 #define _PLUGIN_INTERNAL_H_\r
21 \r
22 #include <ttsp.h>\r
23 \r
24 #ifdef __cplusplus\r
25 extern "C" {\r
26 #endif\r
27 \r
28 #define ENGINE_UUID    "27F277E9-BBC4-4dca-B553-D9884A3CDAA0"\r
29 #define ENGINE_NAME    "Samsung TTS"\r
30 #define ENGINE_UG_NAME "tts_smt_setting_ug.so"\r
31 \r
32 #define VTTS_VOICE_NAME_BUF_SIZE 8\r
33 \r
34 typedef char*   ttspe_language;\r
35 \r
36 typedef struct {\r
37         ttspe_language    lang;    /**< Language */\r
38         ttsp_voice_type_e vctype;  /**< Voice type */\r
39 } ttspe_voice_info_s;\r
40 \r
41 typedef struct {\r
42         ttspe_voice_info_s* voice_info;  /**< Voice info array */\r
43         int                 size;        /**< size of array */\r
44 } ttspe_voice_list_s;\r
45 \r
46 int plugin_Initialize(ttspe_result_cb const cb_func);\r
47 \r
48 int plugin_Finalize(void);\r
49 \r
50 int plugin_SynthesizeText\r
51 (\r
52   char*    const   pszLanguage,\r
53   ttsp_voice_type_e const   eVoiceType,\r
54   char              const * pszTextUtf8,\r
55   ttsp_speed_e     const   eSpeechSpeed,\r
56   void                    * pUserParam\r
57 );\r
58 \r
59 int plugin_StopSynthesis(void);\r
60 \r
61 int plugin_GetAudioFormat(ttsp_audio_type_e* pType, int* pSamplingRate, int* pnChannels);\r
62 \r
63 int plugin_ForeachVoices(ttspe_supported_voice_cb callback, void* user_data);\r
64 \r
65 bool plugin_IsValidVoice(const char* language, ttsp_voice_type_e type);\r
66 \r
67 int plugin_SetDefaultSpeechSpeed(ttsp_speed_e const  SpeechSpeed);\r
68 \r
69 int plugin_SetSettingInfo(const char* key, const char* value);\r
70 \r
71 int plugin_ForeachEngineSetting(ttspe_engine_setting_cb callback, void* user_data);\r
72 \r
73 void plugin_SetDaemonAPIs (ttspd_funcs_s const * pAPIs);\r
74 \r
75 \r
76 \r
77 #ifdef __cplusplus\r
78 }\r
79 #endif\r
80 \r
81 #endif /* _PLUGIN_INTERNAL_H_ */\r