Change uid and gid for service files
[platform/core/uifw/tts.git] / include / tts_setting.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_SETTING_H__
16 #define __TTS_SETTING_H__
17
18 #include <tizen.h>
19
20 /**
21 * @file tts_setting.h
22 */
23
24 /**
25 * @addtogroup TTS_SETTING_MODULE
26 * @{
27 */
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 /** 
34 * @brief Enumerations of error codes.
35 */
36 typedef enum {
37         TTS_SETTING_ERROR_NONE                  = TIZEN_ERROR_NONE,             /**< Success, No error */
38         TTS_SETTING_ERROR_OUT_OF_MEMORY         = TIZEN_ERROR_OUT_OF_MEMORY,    /**< Out of Memory */
39         TTS_SETTING_ERROR_IO_ERROR              = TIZEN_ERROR_IO_ERROR,         /**< I/O error */
40         TTS_SETTING_ERROR_INVALID_PARAMETER     = TIZEN_ERROR_INVALID_PARAMETER,/**< Invalid parameter */
41         TTS_SETTING_ERROR_PERMISSION_DENIED     = TIZEN_ERROR_PERMISSION_DENIED,/**< Permission denied */
42         TTS_SETTING_ERROR_NOT_SUPPORTED         = TIZEN_ERROR_NOT_SUPPORTED,    /**< TTS is NOT supported */
43         TTS_SETTING_ERROR_INVALID_STATE         = TIZEN_ERROR_TTS | 0x01,       /**< Invalid state */
44         TTS_SETTING_ERROR_INVALID_VOICE         = TIZEN_ERROR_TTS | 0x02,       /**< Invalid voice */
45         TTS_SETTING_ERROR_ENGINE_NOT_FOUND      = TIZEN_ERROR_TTS | 0x03,       /**< No available TTS-engine  */
46         TTS_SETTING_ERROR_OPERATION_FAILED      = TIZEN_ERROR_TTS | 0x04,       /**< Operation failed  */
47         TTS_SETTING_ERROR_NOT_SUPPORTED_FEATURE = TIZEN_ERROR_TTS | 0x06        /**< Not supported feature of current engine */
48 } tts_setting_error_e;
49
50 /** 
51 * @brief Definitions for male voice type.
52 */
53 #define TTS_SETTING_VOICE_TYPE_MALE     1
54
55 /** 
56 * @brief Definitions for female voice type.
57 */
58 #define TTS_SETTING_VOICE_TYPE_FEMALE   2
59
60 /** 
61 * @brief Definitions for child voice type.
62 */
63 #define TTS_SETTING_VOICE_TYPE_CHILD    3
64
65 /**
66 * @brief Called to get a engine information.
67 *
68 * @param[in] engine_id Engine id.
69 * @param[in] engine_name Engine name.
70 * @param[in] setting_path Gadget path of engine specific setting.
71 * @param[in] user_data User data passed from the tts_setting_foreach_supported_engines().
72 *
73 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop.
74 * @pre tts_setting_foreach_supported_engines() will invoke this callback. 
75 *
76 * @see tts_setting_foreach_supported_engines()
77 */
78 typedef bool(*tts_setting_supported_engine_cb)(const char* engine_id, const char* engine_name, const char* setting_path, void* user_data);
79
80 /**
81 * @brief Called to get a voice.
82 *
83 * @param[in] engine_id Engine id
84 * @param[in] language A language is specified as an ISO 3166 alpha-2 two letter country-code \n
85 *               followed by ISO 639-1 for the two-letter language code. 
86 *               For example, "ko_KR" for Korean, "en_US" for American English..
87 * @param[in] voice_type Voice type
88 * @param[in] user_data User data passed from the tts_setting_foreach_surpported_voices()
89 *
90 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop.
91 * @pre tts_setting_foreach_surpported_voices() will invoke this callback. 
92 *
93 * @see tts_setting_foreach_surpported_voices()
94 */
95 typedef bool(*tts_setting_supported_voice_cb)(const char* engine_id, const char* language, int voice_type, void* user_data);
96
97 /**
98 * @brief Called when the default engine is changed.
99 *
100 * @param[in] engine_id Engine id
101 * @param[in] user_data The user data passed from the callback registration function
102 *
103 * @pre An application registers this callback using tts_setting_set_engine_changed_cb().
104 *
105 * @see tts_setting_set_engine_changed_cb()
106 * @see tts_setting_unset_engine_changed_cb()
107 */
108 typedef void (*tts_setting_engine_changed_cb)(const char* engine_id, void *user_data);
109
110 /**
111 * @brief Called when the default voice is changed.
112 *
113 * @param[in] language A language
114 * @param[in] voice_type Voice type
115 * @param[in] auto_voice Auto voice
116 * @param[in] user_data The user data passed from the callback registration function
117 *
118 * @pre An application registers this callback using registration function.
119 *
120 * @see tts_setting_set_voice_changed_cb()
121 * @see tts_setting_unset_voice_changed_cb()
122 */
123 typedef void (*tts_setting_voice_changed_cb)(const char* language, int voice_type, bool auto_voice, void *user_data);
124
125 /**
126 * @brief Called when the default speed is changed.
127 *
128 * @param[in] speed Default speed
129 * @param[in] user_data The user data passed from the callback registration function
130 *
131 * @pre An application registers this callback using registration function.
132 *
133 * @see tts_setting_set_speed_changed_cb()
134 * @see tts_setting_unset_speed_changed_cb()
135 */
136 typedef void (*tts_setting_speed_changed_cb)(int speed, void *user_data);
137
138 /**
139 * @brief Called when the default pitch is changed.
140 *
141 * @param[in] pitch Default pitch
142 * @param[in] user_data The user data passed from the callback registration function
143 *
144 * @pre An application registers this callback using registration function.
145 *
146 * @see tts_setting_set_pitch_changed_cb()
147 * @see tts_setting_unset_pitch_changed_cb()
148 */
149 typedef void (*tts_setting_pitch_changed_cb)(int pitch, void *user_data);
150
151
152 /**
153 * @brief Initialize TTS setting.
154 *
155 * @remarks If the function succeeds, @a tts setting must be released with tts_setting_finalize().
156 *
157 * @return 0 on success, otherwise a negative error value.
158 * @retval #TTS_SETTING_ERROR_NONE Success.
159 * @retval #TTS_SETTING_ERROR_INVALID_STATE TTS setting has Already been initialized.
160 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
161 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
162 *
163 * @see tts_setting_finalize()
164 */
165 int tts_setting_initialize();
166
167 /**
168 * @brief finalize TTS setting. 
169 *
170 * @return 0 on success, otherwise a negative error value.
171 * @retval #TTS_SETTING_ERROR_NONE Success.
172 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
173 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
174 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
175 *
176 * @see tts_setting_initialize()
177 */
178 int tts_setting_finalize(void);
179
180 /**
181 * @brief Retrieve supported engine informations using callback function.
182 *
183 * @param[in] callback Callback function
184 * @param[in] user_data User data to be passed to the callback function
185 *
186 * @return 0 on success, otherwise a negative error value.
187 * @retval #TTS_SETTING_ERROR_NONE Success.
188 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
189 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
190 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
191 *
192 * @post This function invokes tts_setting_supported_engine_cb() repeatedly for getting engine information. 
193 *
194 * @see tts_setting_supported_engine_cb()
195 */
196 int tts_setting_foreach_supported_engines(tts_setting_supported_engine_cb callback, void* user_data);
197
198 /**
199 * @brief Get current engine id.
200 *
201 * @remark If the function is success, @a engine_id must be released with free() by you.
202 *
203 * @param[out] engine_id Engine id
204 *
205 * @return 0 on success, otherwise a negative error value.
206 * @retval #TTS_SETTING_ERROR_NONE Success.
207 * @retval #TTS_SETTING_ERROR_OUT_OF_MEMORY Out of memory.
208 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
209 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
210 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
211 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
212 *
213 * @see tts_setting_set_engine()
214 */
215 int tts_setting_get_engine(char** engine_id);
216
217 /**
218 * @brief Set current engine id.
219 *
220 * @param[in] engine_id Engine id
221 *
222 * @return 0 on success, otherwise a negative error value.
223 * @retval #TTS_SETTING_ERROR_NONE Success.
224 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
225 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
226 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
227 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
228 *
229 * @see tts_setting_get_engine()
230 */
231 int tts_setting_set_engine(const char* engine_id);
232
233 /**
234 * @brief Get supported voices of current engine.
235 *
236 * @param[in] callback Callback function
237 * @param[in] user_data User data to be passed to the callback function
238 *
239 * @return 0 on success, otherwise a negative error value.
240 * @retval #TTS_SETTING_ERROR_NONE Success.
241 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
242 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
243 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
244 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
245 *
246 * @post This function invokes tts_setting_supported_voice_cb() repeatedly for getting supported voices. 
247 *
248 * @see tts_setting_supported_voice_cb()
249 */
250 int tts_setting_foreach_supported_voices(tts_setting_supported_voice_cb callback, void* user_data);
251
252 /**
253 * @brief Get a default voice of current engine.
254 *
255 * @remark If the function is success, @a language must be released with free() by you.
256 *
257 * @param[out] language Default language
258 * @param[out] voice_type Default voice type
259 *
260 * @return 0 on success, otherwise a negative error value.
261 * @retval #TTS_SETTING_ERROR_NONE Success.
262 * @retval #TTS_SETTING_ERROR_OUT_OF_MEMORY Out of memory.
263 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
264 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
265 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
266 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
267 *
268 * @see tts_setting_set_voice()
269 */
270 int tts_setting_get_voice(char** language, int* voice_type);
271
272 /**
273 * @brief Set a default voice of current engine.
274 *
275 * @param[in] language Default language
276 * @param[in] voice_type Default voice type
277 *
278 * @return 0 on success, otherwise a negative error value.
279 * @retval #TTS_SETTING_ERROR_NONE Success.
280 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
281 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
282 * @retval #TTS_SETTING_ERROR_INVALID_VOICE Invalid voice.
283 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
284 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
285 *
286 * @see tts_setting_get_voice()
287 */
288 int tts_setting_set_voice(const char* language, int voice_type);
289
290 /**
291 * @brief Get a automatic option of voice.
292 *
293 * @param[out] value Automatic option
294 *
295 * @return 0 on success, otherwise a negative error value.
296 * @retval #TTS_SETTING_ERROR_NONE Success.
297 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
298 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
299 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
300 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
301 *
302 * @see tts_setting_set_auto_voice()
303 */
304 int tts_setting_get_auto_voice(bool* value);
305
306 /**
307 * @brief Set a automatic option of voice.
308 *
309 * @param[in] value Automatic option
310 *
311 * @return 0 on success, otherwise a negative error value.
312 * @retval #TTS_SETTING_ERROR_NONE Success.
313 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
314 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
315 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
316 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
317 *
318 * @see tts_setting_get_auto_voice()
319 */
320 int tts_setting_set_auto_voice(bool value);
321
322 /**
323 * @brief Gets the speed range.
324 *
325 * @param[out] min The minimum speed value
326 * @param[out] normal The normal speed value
327 * @param[out] max The maximum speed value
328 *
329 * @return 0 on success, otherwise a negative error value
330 * @retval #TTS_SETTING_ERROR_NONE Success.
331 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
332 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
333 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
334 *
335 * @see tts_setting_get_speed()
336 * @see tts_setting_set_speed()
337 */
338 int tts_setting_get_speed_range(int* min, int* normal, int* max);
339
340 /**
341 * @brief Get default speed.
342 *
343 * @param[out] speed Default voice speed
344 *
345 * @return 0 on success, otherwise a negative error value.
346 * @retval #TTS_SETTING_ERROR_NONE Success.
347 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
348 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
349 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
350 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
351 *
352 * @see tts_setting_get_speed_range()
353 * @see tts_setting_set_speed()
354 */
355 int tts_setting_get_speed(int* speed);
356
357 /**
358 * @brief Set default speed.
359 *
360 * @param[in] speed Default voice speed
361 *
362 * @return 0 on success, otherwise a negative error value.
363 * @retval #TTS_SETTING_ERROR_NONE Success.
364 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
365 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
366 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
367 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
368 *
369 * @see tts_setting_get_speed_range()
370 * @see tts_setting_get_speed()
371 */
372 int tts_setting_set_speed(int speed);
373
374 /**
375 * @brief Gets the pitch range.
376 *
377 * @param[out] min The minimum pitch value
378 * @param[out] normal The normal pitch value
379 * @param[out] max The maximum pitch value
380 *
381 * @return 0 on success, otherwise a negative error value
382 * @retval #TTS_SETTING_ERROR_NONE Success.
383 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
384 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
385 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
386 *
387 * @see tts_setting_get_pitch()
388 * @see tts_setting_set_pitch()
389 */
390 int tts_setting_get_pitch_range(int* min, int* normal, int* max);
391
392 /**
393 * @brief Set a default pitch.
394 *
395 * @param[out] pitch Default voice pitch
396 *
397 * @return 0 on success, otherwise a negative error value.
398 * @retval #TTS_SETTING_ERROR_NONE Success.
399 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
400 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
401 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
402 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED_FEATURE Not supported feature.
403 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
404 *
405 * @see tts_setting_get_pitch_range()
406 * @see tts_setting_set_pitch()
407 */
408 int tts_setting_get_pitch(int* pitch);
409
410 /**
411 * @brief Set a default pitch.
412 *
413 * @param[in] pitch Default voice pitch
414 *
415 * @return 0 on success, otherwise a negative error value.
416 * @retval #TTS_SETTING_ERROR_NONE Success.
417 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
418 * @retval #TTS_SETTING_ERROR_INVALID_STATE Not initialized.
419 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Operation failure.
420 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED_FEATURE Not supported feature.
421 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
422 *
423 * @see tts_setting_get_pitch_range()
424 * @see tts_setting_get_pitch()
425 */
426 int tts_setting_set_pitch(int pitch);
427
428 /**
429 * @brief Registers a callback function to be called when engine information is changed
430 *
431 * @param[in] callback The callback function to register
432 * @param[in] user_data The user data to be passed to the callback function
433 *
434 * @return 0 on success, otherwise a negative error value
435 * @retval #TTS_SETTING_ERROR_NONE Successful
436 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter
437 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Invalid state
438 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
439 *
440 * @see tts_setting_engine_changed_cb()
441 * @see tts_setting_unset_engine_changed_cb()
442 */
443 int tts_setting_set_engine_changed_cb(tts_setting_engine_changed_cb callback, void* user_data);
444
445 /**
446 * @brief Unregisters the callback function
447 *
448 * @return 0 on success, otherwise a negative error value
449 * @retval #TTS_SETTING_ERROR_NONE Successful
450 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Invalid state
451 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
452 *
453 * @see tts_setting_set_engine_changed_cb()
454 */
455 int tts_setting_unset_engine_changed_cb();
456
457 /**
458 * @brief Registers a callback function to be called when default voice is changed
459 *
460 * @param[in] callback The callback function to register
461 * @param[in] user_data The user data to be passed to the callback function
462 *
463 * @return 0 on success, otherwise a negative error value
464 * @retval #TTS_SETTING_ERROR_NONE Successful
465 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter
466 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Invalid state
467 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
468 *
469 * @see tts_setting_voice_changed_cb()
470 * @see tts_setting_unset_voice_changed_cb()
471 */
472 int tts_setting_set_voice_changed_cb(tts_setting_voice_changed_cb callback, void* user_data);
473
474 /**
475 * @brief Unregisters the callback function
476 *
477 * @return 0 on success, otherwise a negative error value
478 * @retval #TTS_SETTING_ERROR_NONE Successful
479 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Invalid state
480 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
481 *
482 * @see tts_setting_set_voice_changed_cb()
483 */
484 int tts_setting_unset_voice_changed_cb();
485
486 /**
487 * @brief Registers a callback function to be called when default speed is changed
488 *
489 * @param[in] callback The callback function to register
490 * @param[in] user_data The user data to be passed to the callback function
491 *
492 * @return 0 on success, otherwise a negative error value
493 * @retval #TTS_SETTING_ERROR_NONE Successful
494 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter
495 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Invalid state
496 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
497 *
498 * @see tts_setting_speed_changed_cb()
499 * @see tts_setting_unset_speed_changed_cb()
500 */
501 int tts_setting_set_speed_changed_cb(tts_setting_speed_changed_cb callback, void* user_data);
502
503 /**
504 * @brief Unregisters the callback function
505 *
506 * @return 0 on success, otherwise a negative error value
507 * @retval #TTS_SETTING_ERROR_NONE Successful
508 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Invalid state
509 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
510 *
511 * @see tts_setting_set_speed_changed_cb()
512 */
513 int tts_setting_unset_speed_changed_cb();
514
515 /**
516 * @brief Registers a callback function to be called when default pitch is changed
517 *
518 * @param[in] callback The callback function to register
519 * @param[in] user_data The user data to be passed to the callback function
520 *
521 * @return 0 on success, otherwise a negative error value
522 * @retval #TTS_SETTING_ERROR_NONE Successful
523 * @retval #TTS_SETTING_ERROR_INVALID_PARAMETER Invalid parameter
524 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Invalid state
525 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
526 *
527 * @see tts_setting_pitch_changed_cb()
528 * @see tts_setting_unset_pitch_changed_cb()
529 */
530 int tts_setting_set_pitch_changed_cb(tts_setting_pitch_changed_cb callback, void* user_data);
531
532 /**
533 * @brief Unregisters the callback function
534 *
535 * @return 0 on success, otherwise a negative error value
536 * @retval #TTS_SETTING_ERROR_NONE Successful
537 * @retval #TTS_SETTING_ERROR_OPERATION_FAILED Invalid state
538 * @retval #TTS_SETTING_ERROR_NOT_SUPPORTED TTS NOT supported
539 *
540 * @see tts_setting_set_pitch_changed_cb()
541 */
542 int tts_setting_unset_pitch_changed_cb();
543
544
545 #ifdef __cplusplus
546 }
547 #endif
548
549 /**
550 * @}
551 */
552
553 #endif /* __TTS_SETTING_H__ */