From: sooyeon.kim Date: Tue, 19 Jul 2016 07:21:26 +0000 (+0900) Subject: Update tts-engine-default X-Git-Tag: accepted/tizen/common/20160719.173226^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_common;p=platform%2Fcore%2Fuifw%2Flibttssmt.git Update tts-engine-default Change-Id: I062fe176d2397a78c4ada35308f4e19041c4aae2 Signed-off-by: sooyeon.kim --- diff --git a/AUTHORS b/AUTHORS index 93f5c58..929427a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,8 +1,3 @@ -Wonyoung Lee -Sungchan Kim -Samsung Multimedia R&D Group - Kwangyoun Kim -Wonnam Jang Sooyeon Kim - +Wonnam Jang diff --git a/CMakeLists.txt b/CMakeLists.txt index d0d6249..75b8ca9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,92 +1,33 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -PROJECT(ttssmt) +PROJECT(org.tizen.tts-engine-default C) -SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(EXEC_PREFIX "${PREFIX}") -SET(LIBRARY_NAME "smt") SET(VERSION 0.0.1) - -SET(SRCS - src/ttsp.c - src/plugin_internal.cpp - src/_SlpSmtApis.cpp - ) - -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}) -INCLUDE_DIRECTORIES(${INCLUDEDIR}) -INCLUDE_DIRECTORIES(${LIBDIR}/glib-2.0/include) -INCLUDE_DIRECTORIES(${INCLUDEDIR}/glib-2.0) - -## Dependent packages ## -INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs REQUIRED - dlog - glib-2.0 - tts -) - -FOREACH(flag ${pkgs_CFLAGS}) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") -ENDFOREACH(flag) - -########################### -# DEFINITION TTS FEATURES # -########################### -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DSLP" ) -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DCOMPILE_FEATURE_TTS_SLIM") -#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -D__FIXED_C" ) -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DKOREAN" ) -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DUSENGLISH" ) -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DCHINESE" ) -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DDICTIONARY" ) -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC" ) - -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") -SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") -SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=gnu++0x") -SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") -#SET(CMAKE_C_FLAGS_RELEASE "-O2") -SET(CMAKE_EXE_LINKER_FLAGS "-Wall,--as-needed") - -########################### -# COMPILE AS RELEASE MODE # -########################### -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}") - -ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") -ADD_DEFINITIONS("-Werror") - -#ADD_LIBRARY(${LIBRARY_NAME} STATIC ${LIB_SRCS}) -ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ) - -#SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX) FIND_PROGRAM(UNAME NAMES uname) EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -MESSAGE(STATUS "======================================") IF("${ARCH}" MATCHES "^arm.*") -MESSAGE(STATUS "Arch - arm") -TARGET_LINK_LIBRARIES(${PROJECT_NAME} -Llib/arm -lsmt ${pkgs_LDFLAGS}) -INSTALL(FILES lib/arm/libsmt.so DESTINATION ${LIBDIR}) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/lib/armv7l/libsmt.so DESTINATION ${APP_INSTALL_PREFIX}/lib/ COMPONENT RuntimeLibraries) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/armv7l/org.tizen.tts-engine-default DESTINATION ${APP_INSTALL_PREFIX}/bin/) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/armv7l/org.tizen.tts-engine-default-setting DESTINATION ${APP_INSTALL_PREFIX}/bin/) ELSEIF("${ARCH}" MATCHES "^i586.*") -MESSAGE(STATUS "Arch - i586") -TARGET_LINK_LIBRARIES(${PROJECT_NAME} -Llib/i386 -lsmt ${pkgs_LDFLAGS}) -INSTALL(FILES lib/i386/libsmt.so DESTINATION ${LIBDIR}) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/lib/i586/libsmt.so DESTINATION ${APP_INSTALL_PREFIX}/lib/ COMPONENT RuntimeLibraries) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/i586/org.tizen.tts-engine-default DESTINATION ${APP_INSTALL_PREFIX}/bin/) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/i586/org.tizen.tts-engine-default-setting DESTINATION ${APP_INSTALL_PREFIX}/bin/) ELSEIF("${ARCH}" MATCHES "^i686.*") -MESSAGE(STATUS "Arch - 686") -TARGET_LINK_LIBRARIES(${PROJECT_NAME} -Llib/i386 -lsmt ${pkgs_LDFLAGS}) -INSTALL(FILES lib/i386/libsmt.so DESTINATION ${LIBDIR}) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/lib/i586/libsmt.so DESTINATION ${APP_INSTALL_PREFIX}/lib/ COMPONENT RuntimeLibraries) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/i586/org.tizen.tts-engine-default DESTINATION ${APP_INSTALL_PREFIX}/bin/) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/i586/org.tizen.tts-engine-default-setting DESTINATION ${APP_INSTALL_PREFIX}/bin/) ELSEIF("${ARCH}" MATCHES "^aarch64.*") -MESSAGE(STATUS "Arch - aarch64") -TARGET_LINK_LIBRARIES(${PROJECT_NAME} -Llib/aarch64 -lsmt ${pkgs_LDFLAGS}) -INSTALL(FILES lib/aarch64/libsmt.so DESTINATION ${LIBDIR}) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/lib/aarch64/libsmt.so DESTINATION ${APP_INSTALL_PREFIX}/lib/ COMPONENT RuntimeLibraries) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/aarch64/org.tizen.tts-engine-default DESTINATION ${APP_INSTALL_PREFIX}/bin/) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/aarch64/org.tizen.tts-engine-default-setting DESTINATION ${APP_INSTALL_PREFIX}/bin/) ELSEIF("${ARCH}" MATCHES "^x86_64.*") -MESSAGE(STATUS "Arch - x86_64") -TARGET_LINK_LIBRARIES(${PROJECT_NAME} -Llib/x86_64 -lsmt ${pkgs_LDFLAGS}) -INSTALL(FILES lib/x86_64/libsmt.so DESTINATION ${LIBDIR}) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/lib/x86_64/libsmt.so DESTINATION ${APP_INSTALL_PREFIX}/lib/ COMPONENT RuntimeLibraries) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/x86_64/org.tizen.tts-engine-default DESTINATION ${APP_INSTALL_PREFIX}/bin/) +INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/x86_64/org.tizen.tts-engine-default-setting DESTINATION ${APP_INSTALL_PREFIX}/bin/) ENDIF() -INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${TZ_SYS_RO_SHARE}/voice/tts/1.0/engine COMPONENT RuntimeLibraries) -INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/vdata/ DESTINATION ${TZ_SYS_RO_SHARE}/voice/tts/smt_vdata) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/ttssmt-info.xml DESTINATION ${TZ_SYS_RO_SHARE}/voice/tts/1.0/engine-info/) +INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/smt_vdata/ DESTINATION ${TZ_SYS_RO_SHARE}/voice/tts/smt_vdata) +INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/po/ DESTINATION ${APP_INSTALL_PREFIX}-setting/res/locale) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.tts-engine-default-info.xml DESTINATION ${TZ_SYS_RO_SHARE}/voice/tts/1.0/engine-info/) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.tts-engine-default.xml DESTINATION ${APP_MANIFESTDIR}) -ADD_SUBDIRECTORY(setting-app) diff --git a/INSTALL b/INSTALL deleted file mode 100644 index e69de29..0000000 diff --git a/setting-app/LICENSE b/LICENSE similarity index 100% rename from setting-app/LICENSE rename to LICENSE diff --git a/LICENSE.Flora b/LICENSE.Flora deleted file mode 100644 index 571fe79..0000000 --- a/LICENSE.Flora +++ /dev/null @@ -1,206 +0,0 @@ -Flora License - -Version 1.1, April, 2013 - -http://floralicense.org/license/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and -all other entities that control, are controlled by, or are -under common control with that entity. For the purposes of -this definition, "control" means (i) the power, direct or indirect, -to cause the direction or management of such entity, -whether by contract or otherwise, or (ii) ownership of fifty percent (50%) -or more of the outstanding shares, or (iii) beneficial ownership of -such entity. - -"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation source, -and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, -made available under the License, as indicated by a copyright notice -that is included in or attached to the work (an example is provided -in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, -that is based on (or derived from) the Work and for which the editorial -revisions, annotations, elaborations, or other modifications represent, -as a whole, an original work of authorship. For the purposes of this License, -Derivative Works shall not include works that remain separable from, -or merely link (or bind by name) to the interfaces of, the Work and -Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original -version of the Work and any modifications or additions to that Work or -Derivative Works thereof, that is intentionally submitted to Licensor -for inclusion in the Work by the copyright owner or by an individual or -Legal Entity authorized to submit on behalf of the copyright owner. -For the purposes of this definition, "submitted" means any form of -electronic, verbal, or written communication sent to the Licensor or -its representatives, including but not limited to communication on -electronic mailing lists, source code control systems, and issue -tracking systems that are managed by, or on behalf of, the Licensor -for the purpose of discussing and improving the Work, but excluding -communication that is conspicuously marked or otherwise designated -in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -"Tizen Certified Platform" shall mean a software platform that complies -with the standards set forth in the Tizen Compliance Specification -and passes the Tizen Compliance Tests as defined from time to time -by the Tizen Technical Steering Group and certified by the Tizen -Association or its designated agent. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work -solely as incorporated into a Tizen Certified Platform, where such -license applies only to those patent claims licensable by such -Contributor that are necessarily infringed by their Contribution(s) -alone or by combination of their Contribution(s) with the Work solely -as incorporated into a Tizen Certified Platform to which such -Contribution(s) was submitted. If You institute patent litigation -against any entity (including a cross-claim or counterclaim -in a lawsuit) alleging that the Work or a Contribution incorporated -within the Work constitutes direct or contributory patent infringement, -then any patent licenses granted to You under this License for that -Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof pursuant to the copyright license -above, in any medium, with or without modifications, and in Source or -Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works - a copy of this License; and - 2. You must cause any modified files to carry prominent notices stating - that You changed the files; and - 3. You must retain, in the Source form of any Derivative Works that - You distribute, all copyright, patent, trademark, and attribution - notices from the Source form of the Work, excluding those notices - that do not pertain to any part of the Derivative Works; and - 4. If the Work includes a "NOTICE" text file as part of its distribution, - then any Derivative Works that You distribute must include a readable - copy of the attribution notices contained within such NOTICE file, - excluding those notices that do not pertain to any part of - the Derivative Works, in at least one of the following places: - within a NOTICE text file distributed as part of the Derivative Works; - within the Source form or documentation, if provided along with the - Derivative Works; or, within a display generated by the Derivative Works, - if and wherever such third-party notices normally appear. - The contents of the NOTICE file are for informational purposes only - and do not modify the License. You may add Your own attribution notices - within Derivative Works that You distribute, alongside or as an addendum - to the NOTICE text from the Work, provided that such additional attribution - notices cannot be construed as modifying the License. You may add Your own - copyright statement to Your modifications and may provide additional or - different license terms and conditions for use, reproduction, or - distribution of Your modifications, or for any such Derivative Works - as a whole, provided Your use, reproduction, and distribution of - the Work otherwise complies with the conditions stated in this License - and your own copyright statement or terms and conditions do not conflict - the conditions stated in the License including section 3. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Flora License to your work - -To apply the Flora License to your work, attach the following -boilerplate notice, with the fields enclosed by brackets "[]" -replaced with your own identifying information. (Don't include -the brackets!) The text should be enclosed in the appropriate -comment syntax for the file format. We also recommend that a -file or class name and description of purpose be included on the -same "printed page" as the copyright notice for easier -identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Flora License, Version 1.1 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://floralicense.org/license/ - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/NOTICE b/NOTICE index 9d64d39..6022ad4 100644 --- a/NOTICE +++ b/NOTICE @@ -1,3 +1,3 @@ -Copyright (c) 2012-2016 Samsung Electronics Co., Ltd. All rights reserved. +Copyright (c) 2016 Samsung Electronics Co., Ltd. All rights reserved. Except as noted, this software is licensed under Flora License, Version 1.1 -Please, see the LICENSE.Flora file for Flora License, Version 1.1 terms and conditions. +Please, see the LICENSE file for Flora License, Version 1.1 terms and conditions. diff --git a/README b/README deleted file mode 100644 index e69de29..0000000 diff --git a/bin/aarch64/org.tizen.tts-engine-default b/bin/aarch64/org.tizen.tts-engine-default new file mode 100755 index 0000000..2aea165 Binary files /dev/null and b/bin/aarch64/org.tizen.tts-engine-default differ diff --git a/bin/aarch64/org.tizen.tts-engine-default-setting b/bin/aarch64/org.tizen.tts-engine-default-setting new file mode 100755 index 0000000..4ea1c9b Binary files /dev/null and b/bin/aarch64/org.tizen.tts-engine-default-setting differ diff --git a/bin/armv7l/org.tizen.tts-engine-default b/bin/armv7l/org.tizen.tts-engine-default new file mode 100755 index 0000000..f939c32 Binary files /dev/null and b/bin/armv7l/org.tizen.tts-engine-default differ diff --git a/bin/armv7l/org.tizen.tts-engine-default-setting b/bin/armv7l/org.tizen.tts-engine-default-setting new file mode 100755 index 0000000..d7d092a Binary files /dev/null and b/bin/armv7l/org.tizen.tts-engine-default-setting differ diff --git a/bin/i586/org.tizen.tts-engine-default b/bin/i586/org.tizen.tts-engine-default new file mode 100755 index 0000000..2c3343d Binary files /dev/null and b/bin/i586/org.tizen.tts-engine-default differ diff --git a/bin/i586/org.tizen.tts-engine-default-setting b/bin/i586/org.tizen.tts-engine-default-setting new file mode 100755 index 0000000..f573ffa Binary files /dev/null and b/bin/i586/org.tizen.tts-engine-default-setting differ diff --git a/bin/x86_64/org.tizen.tts-engine-default b/bin/x86_64/org.tizen.tts-engine-default new file mode 100755 index 0000000..98dc174 Binary files /dev/null and b/bin/x86_64/org.tizen.tts-engine-default differ diff --git a/bin/x86_64/org.tizen.tts-engine-default-setting b/bin/x86_64/org.tizen.tts-engine-default-setting new file mode 100755 index 0000000..75a4617 Binary files /dev/null and b/bin/x86_64/org.tizen.tts-engine-default-setting differ diff --git a/data/po/ar/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ar/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..a878dcf Binary files /dev/null and b/data/po/ar/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/az/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/az/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..fcd1b9e Binary files /dev/null and b/data/po/az/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/bg/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/bg/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..e2c50d4 Binary files /dev/null and b/data/po/bg/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/bn/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/bn/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..cd72098 Binary files /dev/null and b/data/po/bn/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ca/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ca/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..a4d1f40 Binary files /dev/null and b/data/po/ca/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/cs/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/cs/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..87899ab Binary files /dev/null and b/data/po/cs/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/da/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/da/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..958b91c Binary files /dev/null and b/data/po/da/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/de/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/de/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..b5d9bfc Binary files /dev/null and b/data/po/de/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/el_GR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/el_GR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..2ea8f0d Binary files /dev/null and b/data/po/el_GR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/en/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/en/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..a5318f1 Binary files /dev/null and b/data/po/en/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/en_PH/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/en_PH/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..a5318f1 Binary files /dev/null and b/data/po/en_PH/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/en_US/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/en_US/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..a5318f1 Binary files /dev/null and b/data/po/en_US/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/es_ES/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/es_ES/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..32515f3 Binary files /dev/null and b/data/po/es_ES/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/es_US/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/es_US/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..32515f3 Binary files /dev/null and b/data/po/es_US/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/et/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/et/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..9b5a15c Binary files /dev/null and b/data/po/et/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/eu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/eu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..98f7ce9 Binary files /dev/null and b/data/po/eu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/fa/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/fa/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..07e66a5 Binary files /dev/null and b/data/po/fa/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/fi/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/fi/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..f13f8d2 Binary files /dev/null and b/data/po/fi/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/fr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/fr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..9e4f253 Binary files /dev/null and b/data/po/fr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/fr_CA/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/fr_CA/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..7c1899a Binary files /dev/null and b/data/po/fr_CA/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ga/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ga/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..88e1c11 Binary files /dev/null and b/data/po/ga/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/gl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/gl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..9d5879c Binary files /dev/null and b/data/po/gl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/gu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/gu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..d18aa77 Binary files /dev/null and b/data/po/gu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/he/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/he/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..a6bb947 Binary files /dev/null and b/data/po/he/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/hi/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/hi/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..9876054 Binary files /dev/null and b/data/po/hi/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/hr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/hr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..138fdc4 Binary files /dev/null and b/data/po/hr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/hu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/hu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..c46a19e Binary files /dev/null and b/data/po/hu/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/hy/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/hy/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..812cf43 Binary files /dev/null and b/data/po/hy/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/is/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/is/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..37561e6 Binary files /dev/null and b/data/po/is/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/it_IT/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/it_IT/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..fa1fb0d Binary files /dev/null and b/data/po/it_IT/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ja_JP/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ja_JP/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..313feb3 Binary files /dev/null and b/data/po/ja_JP/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ka/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ka/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..e26a11c Binary files /dev/null and b/data/po/ka/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/kk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/kk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..32ef72e Binary files /dev/null and b/data/po/kk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/kn/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/kn/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..b90c3e9 Binary files /dev/null and b/data/po/kn/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ko_KR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ko_KR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..2489327 Binary files /dev/null and b/data/po/ko_KR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/lt/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/lt/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..2cc0de4 Binary files /dev/null and b/data/po/lt/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/lv/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/lv/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..5c997cd Binary files /dev/null and b/data/po/lv/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/mk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/mk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..610653e Binary files /dev/null and b/data/po/mk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ml/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ml/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..900062c Binary files /dev/null and b/data/po/ml/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/nb/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/nb/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..babeb0d Binary files /dev/null and b/data/po/nb/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/nl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/nl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..535c56e Binary files /dev/null and b/data/po/nl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/pl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/pl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..411e77b Binary files /dev/null and b/data/po/pl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/pt_BR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/pt_BR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..379c506 Binary files /dev/null and b/data/po/pt_BR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/pt_PT/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/pt_PT/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..0a74ade Binary files /dev/null and b/data/po/pt_PT/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ro/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ro/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..4d1d02f Binary files /dev/null and b/data/po/ro/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ru_RU/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ru_RU/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..f273b6e Binary files /dev/null and b/data/po/ru_RU/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/si/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/si/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..9322511 Binary files /dev/null and b/data/po/si/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/sk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/sk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..5ba100d Binary files /dev/null and b/data/po/sk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/sl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/sl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..c773979 Binary files /dev/null and b/data/po/sl/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/sr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/sr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..ce87374 Binary files /dev/null and b/data/po/sr/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/sv/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/sv/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..bbe5f4b Binary files /dev/null and b/data/po/sv/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/ta/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/ta/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..4b60fab Binary files /dev/null and b/data/po/ta/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/te/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/te/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..671c94a Binary files /dev/null and b/data/po/te/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/th/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/th/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..6677ee1 Binary files /dev/null and b/data/po/th/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/tr_TR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/tr_TR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..e9d9e47 Binary files /dev/null and b/data/po/tr_TR/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/uk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/uk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..aae5091 Binary files /dev/null and b/data/po/uk/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/uz/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/uz/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..a7a3540 Binary files /dev/null and b/data/po/uz/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/zh_CN/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/zh_CN/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..af9f61a Binary files /dev/null and b/data/po/zh_CN/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/zh_HK/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/zh_HK/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..327f838 Binary files /dev/null and b/data/po/zh_HK/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/data/po/zh_TW/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo b/data/po/zh_TW/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo new file mode 100644 index 0000000..9b49289 Binary files /dev/null and b/data/po/zh_TW/LC_MESSAGES/org.tizen.tts-engine-default-setting.mo differ diff --git a/vdata/smt_de_DE.lng b/data/smt_vdata/smt_de_DE.lng similarity index 100% rename from vdata/smt_de_DE.lng rename to data/smt_vdata/smt_de_DE.lng diff --git a/vdata/smt_de_DE_f00.am b/data/smt_vdata/smt_de_DE_f00.am similarity index 100% rename from vdata/smt_de_DE_f00.am rename to data/smt_vdata/smt_de_DE_f00.am diff --git a/vdata/smt_de_DE_f00.cfg b/data/smt_vdata/smt_de_DE_f00.cfg similarity index 100% rename from vdata/smt_de_DE_f00.cfg rename to data/smt_vdata/smt_de_DE_f00.cfg diff --git a/vdata/smt_de_DE_f00.dt b/data/smt_vdata/smt_de_DE_f00.dt similarity index 100% rename from vdata/smt_de_DE_f00.dt rename to data/smt_vdata/smt_de_DE_f00.dt diff --git a/vdata/smt_de_DE_f00.qs b/data/smt_vdata/smt_de_DE_f00.qs similarity index 100% rename from vdata/smt_de_DE_f00.qs rename to data/smt_vdata/smt_de_DE_f00.qs diff --git a/vdata/smt_en_US.lng b/data/smt_vdata/smt_en_US.lng similarity index 100% rename from vdata/smt_en_US.lng rename to data/smt_vdata/smt_en_US.lng diff --git a/vdata/smt_en_US_f00.am b/data/smt_vdata/smt_en_US_f00.am similarity index 100% rename from vdata/smt_en_US_f00.am rename to data/smt_vdata/smt_en_US_f00.am diff --git a/vdata/smt_en_US_f00.cfg b/data/smt_vdata/smt_en_US_f00.cfg similarity index 100% rename from vdata/smt_en_US_f00.cfg rename to data/smt_vdata/smt_en_US_f00.cfg diff --git a/vdata/smt_en_US_f00.dt b/data/smt_vdata/smt_en_US_f00.dt similarity index 100% rename from vdata/smt_en_US_f00.dt rename to data/smt_vdata/smt_en_US_f00.dt diff --git a/vdata/smt_en_US_f00.qs b/data/smt_vdata/smt_en_US_f00.qs similarity index 100% rename from vdata/smt_en_US_f00.qs rename to data/smt_vdata/smt_en_US_f00.qs diff --git a/vdata/smt_es_ES.lng b/data/smt_vdata/smt_es_ES.lng similarity index 100% rename from vdata/smt_es_ES.lng rename to data/smt_vdata/smt_es_ES.lng diff --git a/vdata/smt_es_ES_f00.am b/data/smt_vdata/smt_es_ES_f00.am similarity index 100% rename from vdata/smt_es_ES_f00.am rename to data/smt_vdata/smt_es_ES_f00.am diff --git a/vdata/smt_es_ES_f00.cfg b/data/smt_vdata/smt_es_ES_f00.cfg similarity index 100% rename from vdata/smt_es_ES_f00.cfg rename to data/smt_vdata/smt_es_ES_f00.cfg diff --git a/vdata/smt_es_ES_f00.dt b/data/smt_vdata/smt_es_ES_f00.dt similarity index 100% rename from vdata/smt_es_ES_f00.dt rename to data/smt_vdata/smt_es_ES_f00.dt diff --git a/vdata/smt_es_ES_f00.qs b/data/smt_vdata/smt_es_ES_f00.qs similarity index 100% rename from vdata/smt_es_ES_f00.qs rename to data/smt_vdata/smt_es_ES_f00.qs diff --git a/vdata/smt_fr_FR.lng b/data/smt_vdata/smt_fr_FR.lng similarity index 100% rename from vdata/smt_fr_FR.lng rename to data/smt_vdata/smt_fr_FR.lng diff --git a/vdata/smt_fr_FR_f00.am b/data/smt_vdata/smt_fr_FR_f00.am similarity index 100% rename from vdata/smt_fr_FR_f00.am rename to data/smt_vdata/smt_fr_FR_f00.am diff --git a/vdata/smt_fr_FR_f00.cfg b/data/smt_vdata/smt_fr_FR_f00.cfg similarity index 100% rename from vdata/smt_fr_FR_f00.cfg rename to data/smt_vdata/smt_fr_FR_f00.cfg diff --git a/vdata/smt_fr_FR_f00.dt b/data/smt_vdata/smt_fr_FR_f00.dt similarity index 100% rename from vdata/smt_fr_FR_f00.dt rename to data/smt_vdata/smt_fr_FR_f00.dt diff --git a/vdata/smt_fr_FR_f00.qs b/data/smt_vdata/smt_fr_FR_f00.qs similarity index 100% rename from vdata/smt_fr_FR_f00.qs rename to data/smt_vdata/smt_fr_FR_f00.qs diff --git a/vdata/smt_it_IT.lng b/data/smt_vdata/smt_it_IT.lng similarity index 100% rename from vdata/smt_it_IT.lng rename to data/smt_vdata/smt_it_IT.lng diff --git a/vdata/smt_it_IT_f00.am b/data/smt_vdata/smt_it_IT_f00.am similarity index 100% rename from vdata/smt_it_IT_f00.am rename to data/smt_vdata/smt_it_IT_f00.am diff --git a/vdata/smt_it_IT_f00.cfg b/data/smt_vdata/smt_it_IT_f00.cfg similarity index 100% rename from vdata/smt_it_IT_f00.cfg rename to data/smt_vdata/smt_it_IT_f00.cfg diff --git a/vdata/smt_it_IT_f00.dt b/data/smt_vdata/smt_it_IT_f00.dt similarity index 100% rename from vdata/smt_it_IT_f00.dt rename to data/smt_vdata/smt_it_IT_f00.dt diff --git a/vdata/smt_it_IT_f00.qs b/data/smt_vdata/smt_it_IT_f00.qs similarity index 100% rename from vdata/smt_it_IT_f00.qs rename to data/smt_vdata/smt_it_IT_f00.qs diff --git a/vdata/smt_ko_KR.lng b/data/smt_vdata/smt_ko_KR.lng similarity index 100% rename from vdata/smt_ko_KR.lng rename to data/smt_vdata/smt_ko_KR.lng diff --git a/vdata/smt_ko_KR_f00.am b/data/smt_vdata/smt_ko_KR_f00.am similarity index 100% rename from vdata/smt_ko_KR_f00.am rename to data/smt_vdata/smt_ko_KR_f00.am diff --git a/vdata/smt_ko_KR_f00.cfg b/data/smt_vdata/smt_ko_KR_f00.cfg similarity index 100% rename from vdata/smt_ko_KR_f00.cfg rename to data/smt_vdata/smt_ko_KR_f00.cfg diff --git a/vdata/smt_ko_KR_f00.dt b/data/smt_vdata/smt_ko_KR_f00.dt similarity index 100% rename from vdata/smt_ko_KR_f00.dt rename to data/smt_vdata/smt_ko_KR_f00.dt diff --git a/vdata/smt_ko_KR_f00.qs b/data/smt_vdata/smt_ko_KR_f00.qs similarity index 100% rename from vdata/smt_ko_KR_f00.qs rename to data/smt_vdata/smt_ko_KR_f00.qs diff --git a/lib/aarch64/libsmt.so b/lib/aarch64/libsmt.so index 6dbb870..78f0c3c 100644 Binary files a/lib/aarch64/libsmt.so and b/lib/aarch64/libsmt.so differ diff --git a/lib/arm/libsmt.so b/lib/armv7l/libsmt.so similarity index 100% rename from lib/arm/libsmt.so rename to lib/armv7l/libsmt.so diff --git a/lib/i386/libsmt.so b/lib/i586/libsmt.so similarity index 100% rename from lib/i386/libsmt.so rename to lib/i586/libsmt.so diff --git a/lib/x86_64/libsmt.so b/lib/x86_64/libsmt.so index cba869a..b2c3956 100644 Binary files a/lib/x86_64/libsmt.so and b/lib/x86_64/libsmt.so differ diff --git a/ttssmt-info.xml b/org.tizen.tts-engine-default-info.xml similarity index 88% rename from ttssmt-info.xml rename to org.tizen.tts-engine-default-info.xml index 10fd97e..a9deed7 100644 --- a/ttssmt-info.xml +++ b/org.tizen.tts-engine-default-info.xml @@ -2,7 +2,7 @@ Samsung TTS 27F277E9-BBC4-4dca-B553-D9884A3CDAA0 - org.tizen.ttssmt-setting + org.tizen.tts-engine-default-setting en_US ko_KR diff --git a/org.tizen.tts-engine-default.xml b/org.tizen.tts-engine-default.xml new file mode 100644 index 0000000..837cdb2 --- /dev/null +++ b/org.tizen.tts-engine-default.xml @@ -0,0 +1,20 @@ + + + + + + ttssmt.png + + + + + + + + + + http://tizen.org/privilege/internet + http://tizen.org/privilege/download + http://tizen.org/privilege/network.get + + diff --git a/packaging/libttssmt.manifest b/packaging/libttssmt.manifest deleted file mode 100644 index 017d22d..0000000 --- a/packaging/libttssmt.manifest +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packaging/libttssmt.spec b/packaging/libttssmt.spec deleted file mode 100644 index 8037230..0000000 --- a/packaging/libttssmt.spec +++ /dev/null @@ -1,64 +0,0 @@ -Name: libttssmt -Summary: Text To Speech smt plugin shared library -Version: 0.1.2 -Release: 1 -Group: Graphics & UI Framework/Voice Framework -License: Flora-1.1 -Source0: %{name}-%{version}.tar.gz -Source1001: libttssmt.manifest -BuildRequires: cmake -BuildRequires: gettext-tools -BuildRequires: pkgconfig(dlog) -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(libtzplatform-config) -BuildRequires: pkgconfig(tts) -BuildRequires: pkgconfig(tts-engine) -BuildRequires: pkgconfig(libxml-2.0) - -BuildRequires: pkgconfig(appcore-efl) -BuildRequires: pkgconfig(elementary) -BuildRequires: pkgconfig(ecore) -BuildRequires: pkgconfig(aul) -BuildRequires: pkgconfig(capi-appfw-application) -BuildRequires: pkgconfig(efl-extension) -BuildRequires: pkgconfig(capi-web-url-download) -BuildRequires: pkgconfig(capi-network-wifi) - -provides : libsmt.so - -%description -Description: Text To Speech smt plugin shared library - - -%prep -%setup -q -cp %{SOURCE1001} . - -%define APP_PREFIX %{TZ_SYS_RO_APP}/org.tizen.ttssmt-setting -%define APP_MANIFESTDIR %{TZ_SYS_RO_PACKAGES} - -cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIBDIR=%{_libdir} -DINCLUDEDIR=%{_includedir} \ - -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN \ - -DAPP_INSTALL_PREFIX=%{APP_PREFIX} -DAPP_MANIFESTDIR=%{APP_MANIFESTDIR} - -%build -export CFLAGS="${CFLAGS} -fPIC -fvisibility=hidden" -make %{?jobs:-j%jobs} - -%install -rm -rf %{buildroot} -%make_install -mkdir -p %{buildroot}%{TZ_SYS_RO_SHARE}/license -cp %{_builddir}/%{name}-%{version}/LICENSE.Flora %{buildroot}%{TZ_SYS_RO_SHARE}/license/%{name} - -%files -%manifest %{name}.manifest -%defattr(-,root,root,-) -%{_libdir}/libsmt.so* -%{TZ_SYS_RO_SHARE}/voice/tts/1.0/engine/* -%{TZ_SYS_RO_SHARE}/voice/tts/smt_vdata/* -%{TZ_SYS_RO_SHARE}/voice/tts/1.0/engine-info/ttssmt-info.xml -%{TZ_SYS_RO_SHARE}/license/%{name} -%{TZ_SYS_RO_APP}/org.tizen.ttssmt-setting/bin/ttssmt-setting -%{TZ_SYS_RO_PACKAGES}/org.tizen.ttssmt-setting.xml -%{TZ_SYS_RO_APP}/org.tizen.ttssmt-setting/res/locale/* \ No newline at end of file diff --git a/setting-app/org.tizen.ttssmt-setting.manifest b/packaging/org.tizen.tts-engine-default.manifest similarity index 82% rename from setting-app/org.tizen.ttssmt-setting.manifest rename to packaging/org.tizen.tts-engine-default.manifest index a76fdba..fe28b53 100644 --- a/setting-app/org.tizen.ttssmt-setting.manifest +++ b/packaging/org.tizen.tts-engine-default.manifest @@ -2,4 +2,4 @@ - + \ No newline at end of file diff --git a/packaging/org.tizen.tts-engine-default.spec b/packaging/org.tizen.tts-engine-default.spec new file mode 100644 index 0000000..579086f --- /dev/null +++ b/packaging/org.tizen.tts-engine-default.spec @@ -0,0 +1,90 @@ +%define _optdir /opt +%define _appdir %{_optdir}/apps + +Name: org.tizen.tts-engine-default +Summary: Text To Speech default engine library +Version: 0.0.1 +Release: 1 +Group: Graphics & UI Framework/Voice Framework +License: Flora-1.1 +Source0: %{name}-%{version}.tar.gz +Source1001: %{name}.manifest + +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + +BuildRequires: cmake +BuildRequires: pkgconfig(libtzplatform-config) + +%description +Description: Text To Speech default engine library + +#### +# Preparation +#### +%prep +%setup -q +cp %{SOURCE1001} . + +%define APP_PREFIX %{TZ_SYS_RO_APP}/%{name} +export LD_LIBRARY_PATH=%{APP_PREFIX}/lib + +%define MANIFESTDIR %{TZ_SYS_RO_PACKAGES} + +cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIBDIR=%{_libdir} \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ + -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE \ + -DAPP_INSTALL_PREFIX=%{APP_PREFIX} \ + -DAPP_MANIFESTDIR=%{MANIFESTDIR} + +#### +# Build +#### +%build +%if 0%{?sec_build_binary_debug_enable} +export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE" +export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE" +export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE" +%endif +make %{?jobs:-j%jobs} + +#### +# Installation +#### +%install +rm -rf %{buildroot} + +%make_install +mkdir -p %{buildroot}%{TZ_SYS_RO_SHARE}/license +cp LICENSE %{buildroot}%{TZ_SYS_RO_SHARE}/license/%{name} + +#### +# Post Install +#### +%post +/sbin/ldconfig +exit 0 + +#### +# Post Uninstall +#### +%postun +/sbin/ldconfig +exit 0 + +#### +# Files in Binary Packages +#### +%files +%manifest %{name}.manifest +%defattr(-,root,root,-) +%{TZ_SYS_RO_SHARE}/voice/tts/1.0/engine-info/org.tizen.tts-engine-default-info.xml +%{TZ_SYS_RO_SHARE}/license/%{name} +%{APP_PREFIX}/bin/* +%{APP_PREFIX}/lib/* +%{TZ_SYS_RO_SHARE}/voice/tts/smt_vdata/ +%{APP_PREFIX}-setting/res/locale/ +#%{APP_PREFIX}/data/smt_vdata/* +%{MANIFESTDIR}/org.tizen.tts-engine-default.xml + diff --git a/setting-app/AUTHORS b/setting-app/AUTHORS deleted file mode 100644 index 22b7171..0000000 --- a/setting-app/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -Kwangyoun Kim -Wonnam Jang diff --git a/setting-app/CMakeLists.txt b/setting-app/CMakeLists.txt deleted file mode 100644 index a340ed7..0000000 --- a/setting-app/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -SET(SETTING_SRCS - src/ttssmt_setting_main.c -) - -INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs_setting REQUIRED - appcore-efl elementary ecore-imf eina ecore ecore-input evas edje glib-2.0 - capi-base-common aul capi-appfw-application efl-extension vconf vconf-internal-keys capi-web-url-download libxml-2.0 - capi-network-wifi -) - -FOREACH(flag ${pkgs_setting_CFLAGS}) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") - SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}") -ENDFOREACH(flag) - -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIE") -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall -fPIE") -SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -Wall -fPIE") -SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall -fPIE") -SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fPIE") -SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g -fPIE") -SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") - -SET(BINDIR "${APP_INSTALL_PREFIX}/bin") - -ADD_EXECUTABLE("${PROJECT_NAME}-setting" ${SETTING_SRCS}) -TARGET_LINK_LIBRARIES("${PROJECT_NAME}-setting" ${pkgs_setting_LDFLAGS}) -INSTALL(TARGETS "${PROJECT_NAME}-setting" DESTINATION ${BINDIR}) - -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.ttssmt-setting.xml DESTINATION ${APP_MANIFESTDIR}) - -ADD_SUBDIRECTORY(po) \ No newline at end of file diff --git a/setting-app/NOTICE b/setting-app/NOTICE deleted file mode 100644 index 490678a..0000000 --- a/setting-app/NOTICE +++ /dev/null @@ -1,3 +0,0 @@ -Copyright (c) 2016 Samsung Electronics Co., Ltd. All rights reserved. -Except as noted, this software is licensed under Apache License, Version 2. -Please, see the LICENSE file for Apache License terms and conditions. diff --git a/setting-app/org.tizen.ttssmt-setting.xml b/setting-app/org.tizen.ttssmt-setting.xml deleted file mode 100644 index 8082dfa..0000000 --- a/setting-app/org.tizen.ttssmt-setting.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - Kwangyoun Kim - TTSSMT engine setting Application - - - - - http://tizen.org/privilege/internet - http://tizen.org/privilege/download - http://tizen.org/privilege/network.get - - diff --git a/setting-app/po/CMakeLists.txt b/setting-app/po/CMakeLists.txt deleted file mode 100644 index 9add309..0000000 --- a/setting-app/po/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -SET(POFILES ar.po az.po bg.po bn.po ca.po cs.po da.po de.po el_GR.po en.po en_PH.po en_US.po es_ES.po es_US.po et.po eu.po fa.po fi.po fr.po fr_CA.po ga.po gl.po gu.po he.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po kn.po ko_KR.po lt.po lv.po mk.po ml.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po si.po sk.po sl.po sr.po sv.po ta.po te.po th.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po) - - -SET(MSGFMT "/usr/bin/msgfmt") - -FOREACH(pofile ${POFILES}) - SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile}) - MESSAGE("PO: ${pofile}") - GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE) - GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE) - SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo) - ADD_CUSTOM_COMMAND( - OUTPUT ${moFile} - COMMAND ${MSGFMT} -o ${moFile} ${absPofile} - DEPENDS ${absPofile} - ) - INSTALL(FILES ${moFile} - DESTINATION /usr/apps/org.tizen.ttssmt-setting/res/locale/${lang}/LC_MESSAGES RENAME org.tizen.ttssmt-setting.mo) - SET(moFiles ${moFiles} ${moFile}) -ENDFOREACH(pofile) - -MESSAGE(".mo files: ${moFiles}") -ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles}) diff --git a/setting-app/po/ar.po b/setting-app/po/ar.po deleted file mode 100644 index 3e8804c..0000000 --- a/setting-app/po/ar.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "تنزيل" - -msgid "IDS_NETWORK_ERROR" -msgstr "حدث خطأ في الشبكة." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "فشل في التنزيل." - -msgid "IDS_DOWNLOADING" -msgstr "جارٍ التنزيل..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "إعدادات المحرك" diff --git a/setting-app/po/az.po b/setting-app/po/az.po deleted file mode 100644 index 9871c1c..0000000 --- a/setting-app/po/az.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Yüklə" - -msgid "IDS_NETWORK_ERROR" -msgstr "Şəbəkə xətası." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Yükləmə mümkün olmadı." - -msgid "IDS_DOWNLOADING" -msgstr "Yüklənir..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Mexanizmin parametrləri" diff --git a/setting-app/po/bg.po b/setting-app/po/bg.po deleted file mode 100644 index 15494e7..0000000 --- a/setting-app/po/bg.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Изтегляне" - -msgid "IDS_NETWORK_ERROR" -msgstr "Грешка на мрежата." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Неуспешно изтегляне." - -msgid "IDS_DOWNLOADING" -msgstr "Изтегляне..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Настройки на ядро" diff --git a/setting-app/po/bn.po b/setting-app/po/bn.po deleted file mode 100644 index dcb376e..0000000 --- a/setting-app/po/bn.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "ডাউনলোড করুন" - -msgid "IDS_NETWORK_ERROR" -msgstr "নেটওয়ার্ক ত্রুটি।" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ডাউনলোড ব্যর্থ হয়েছে।" - -msgid "IDS_DOWNLOADING" -msgstr "ডাউনলোড হচ্ছে..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "ইঞ্জিন সেটিংস" diff --git a/setting-app/po/ca.po b/setting-app/po/ca.po deleted file mode 100644 index 1826cdd..0000000 --- a/setting-app/po/ca.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Descarregar" - -msgid "IDS_NETWORK_ERROR" -msgstr "Error de xarxa" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Descàrrega no disponible" - -msgid "IDS_DOWNLOADING" -msgstr "Descarreg…" - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Ajustaments de motor" diff --git a/setting-app/po/cs.po b/setting-app/po/cs.po deleted file mode 100644 index 8710950..0000000 --- a/setting-app/po/cs.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Stáhnout" - -msgid "IDS_NETWORK_ERROR" -msgstr "Chyba sítě." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Stažení se nezdařilo." - -msgid "IDS_DOWNLOADING" -msgstr "Stahování..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Nastavení modulu" diff --git a/setting-app/po/da.po b/setting-app/po/da.po deleted file mode 100644 index ade0e85..0000000 --- a/setting-app/po/da.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Download" - -msgid "IDS_NETWORK_ERROR" -msgstr "Netv©¡rksfejl." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Download mislykkedes." - -msgid "IDS_DOWNLOADING" -msgstr "Downloader ..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Motorindstillinger" diff --git a/setting-app/po/de.po b/setting-app/po/de.po deleted file mode 100644 index e8662b1..0000000 --- a/setting-app/po/de.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Download" - -msgid "IDS_NETWORK_ERROR" -msgstr "Netzfehler" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Herunterladen fehlgeschlagen" - -msgid "IDS_DOWNLOADING" -msgstr "Herunterladen..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Engine-Einstellungen" diff --git a/setting-app/po/el_GR.po b/setting-app/po/el_GR.po deleted file mode 100644 index cfbd3c3..0000000 --- a/setting-app/po/el_GR.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Λήψη" - -msgid "IDS_NETWORK_ERROR" -msgstr "Σφάλμα δικτύου." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Αποτυχία λήψης." - -msgid "IDS_DOWNLOADING" -msgstr "Λήψη..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Ρυθμίσεις μηχανής" diff --git a/setting-app/po/en.po b/setting-app/po/en.po deleted file mode 100644 index 024b175..0000000 --- a/setting-app/po/en.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Download" - -msgid "IDS_NETWORK_ERROR" -msgstr "Network error." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Download unavailable." - -msgid "IDS_DOWNLOADING" -msgstr "Downloading..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Engine settings" diff --git a/setting-app/po/en_PH.po b/setting-app/po/en_PH.po deleted file mode 100644 index 024b175..0000000 --- a/setting-app/po/en_PH.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Download" - -msgid "IDS_NETWORK_ERROR" -msgstr "Network error." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Download unavailable." - -msgid "IDS_DOWNLOADING" -msgstr "Downloading..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Engine settings" diff --git a/setting-app/po/en_US.po b/setting-app/po/en_US.po deleted file mode 100644 index 024b175..0000000 --- a/setting-app/po/en_US.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Download" - -msgid "IDS_NETWORK_ERROR" -msgstr "Network error." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Download unavailable." - -msgid "IDS_DOWNLOADING" -msgstr "Downloading..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Engine settings" diff --git a/setting-app/po/es_ES.po b/setting-app/po/es_ES.po deleted file mode 100644 index 45c5c8b..0000000 --- a/setting-app/po/es_ES.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Descargar" - -msgid "IDS_NETWORK_ERROR" -msgstr "Error de red." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Error de descarga." - -msgid "IDS_DOWNLOADING" -msgstr "Descargando..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Ajustes de motor" diff --git a/setting-app/po/es_US.po b/setting-app/po/es_US.po deleted file mode 100644 index 45c5c8b..0000000 --- a/setting-app/po/es_US.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Descargar" - -msgid "IDS_NETWORK_ERROR" -msgstr "Error de red." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Error de descarga." - -msgid "IDS_DOWNLOADING" -msgstr "Descargando..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Ajustes de motor" diff --git a/setting-app/po/et.po b/setting-app/po/et.po deleted file mode 100644 index 70a93fb..0000000 --- a/setting-app/po/et.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Laadi alla" - -msgid "IDS_NETWORK_ERROR" -msgstr "Võrgutõrge." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Allalaadimine nurjus." - -msgid "IDS_DOWNLOADING" -msgstr "Allalaadim..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Mootoriseaded" diff --git a/setting-app/po/eu.po b/setting-app/po/eu.po deleted file mode 100644 index f8798ae..0000000 --- a/setting-app/po/eu.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Deskargatu" - -msgid "IDS_NETWORK_ERROR" -msgstr "Sarearen errorea" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Deskarga ez dago eskuragarri" - -msgid "IDS_DOWNLOADING" -msgstr "Deskargatzen..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Motor ezarpenak" diff --git a/setting-app/po/fa.po b/setting-app/po/fa.po deleted file mode 100644 index dbdd562..0000000 --- a/setting-app/po/fa.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "دانلود" - -msgid "IDS_NETWORK_ERROR" -msgstr "خطا در شبکه رخ داد." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "امکان دانلود وجود ندارد." - -msgid "IDS_DOWNLOADING" -msgstr "دانلود..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "تنظیمات موتور" diff --git a/setting-app/po/fi.po b/setting-app/po/fi.po deleted file mode 100644 index 5f53b4a..0000000 --- a/setting-app/po/fi.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Lataa" - -msgid "IDS_NETWORK_ERROR" -msgstr "Verkkovirhe" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Lataus epäonnistui." - -msgid "IDS_DOWNLOADING" -msgstr "Ladataan..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Moduulin asetukset" diff --git a/setting-app/po/fr.po b/setting-app/po/fr.po deleted file mode 100644 index 3e9234e..0000000 --- a/setting-app/po/fr.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Télécharger" - -msgid "IDS_NETWORK_ERROR" -msgstr "Erreur réseau" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Le téléchargement a échoué." - -msgid "IDS_DOWNLOADING" -msgstr "Télécharg..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Paramètres du moteur" diff --git a/setting-app/po/fr_CA.po b/setting-app/po/fr_CA.po deleted file mode 100644 index f8e0f42..0000000 --- a/setting-app/po/fr_CA.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Télécharger" - -msgid "IDS_NETWORK_ERROR" -msgstr "Erreur réseau." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Téléchargement a échoué" - -msgid "IDS_DOWNLOADING" -msgstr "Télécharg..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Paramètres du moteur" diff --git a/setting-app/po/ga.po b/setting-app/po/ga.po deleted file mode 100644 index f66887a..0000000 --- a/setting-app/po/ga.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Íoslódáil" - -msgid "IDS_NETWORK_ERROR" -msgstr "Earráid líonra." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Theip ar íoslódáil." - -msgid "IDS_DOWNLOADING" -msgstr "Íoslódáil..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Socruithe innill" diff --git a/setting-app/po/gl.po b/setting-app/po/gl.po deleted file mode 100644 index 9aa0bc8..0000000 --- a/setting-app/po/gl.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Descargar" - -msgid "IDS_NETWORK_ERROR" -msgstr "Erro de rede" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Erro de descarga" - -msgid "IDS_DOWNLOADING" -msgstr "Descargando..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Axustes do motor" diff --git a/setting-app/po/gu.po b/setting-app/po/gu.po deleted file mode 100644 index ff22bb3..0000000 --- a/setting-app/po/gu.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "ડાઉનલોડ કરો" - -msgid "IDS_NETWORK_ERROR" -msgstr "જોડાણમાં ભૂલ." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ડાઉનલોડ ઉપલબ્ધ નથી." - -msgid "IDS_DOWNLOADING" -msgstr "ડાઉનલોડ કરી રહ્યું છે..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "એન્જીન સેટિંગ્સ" diff --git a/setting-app/po/he.po b/setting-app/po/he.po deleted file mode 100644 index f47b9ed..0000000 --- a/setting-app/po/he.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "הורד" - -msgid "IDS_NETWORK_ERROR" -msgstr "שגיאת רשת." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ההורדה לא זמינה." - -msgid "IDS_DOWNLOADING" -msgstr "מוריד..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "הגדרות מנגנון" diff --git a/setting-app/po/hi.po b/setting-app/po/hi.po deleted file mode 100644 index 4f3ca32..0000000 --- a/setting-app/po/hi.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "डाउनलोड करें" - -msgid "IDS_NETWORK_ERROR" -msgstr "नेटवर्क त्रुटी।" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "डाउनलोड विफल।" - -msgid "IDS_DOWNLOADING" -msgstr "डाउनलोड हो..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "इंजन सेटिंग्स" diff --git a/setting-app/po/hr.po b/setting-app/po/hr.po deleted file mode 100644 index 1984329..0000000 --- a/setting-app/po/hr.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Skini" - -msgid "IDS_NETWORK_ERROR" -msgstr "GreÅ¡ka mreže." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Skidanje neuspjeÅ¡no." - -msgid "IDS_DOWNLOADING" -msgstr "Preuzimanje..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Postavke modula" diff --git a/setting-app/po/hu.po b/setting-app/po/hu.po deleted file mode 100644 index 6e22a0b..0000000 --- a/setting-app/po/hu.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Letöltés" - -msgid "IDS_NETWORK_ERROR" -msgstr "Hálózati hiba" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Sikertelen letöltés" - -msgid "IDS_DOWNLOADING" -msgstr "Letöltés..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Modul beállításai" diff --git a/setting-app/po/hy.po b/setting-app/po/hy.po deleted file mode 100644 index b99ddaa..0000000 --- a/setting-app/po/hy.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Ներբեռնել" - -msgid "IDS_NETWORK_ERROR" -msgstr "Ցանցի Õ½Õ­Õ¡Õ¬:" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Բեռնումն Õ¡Õ¶Õ°Õ¡Õ½Õ¡Õ¶Õ¥Õ¬Õ« Õ§:" - -msgid "IDS_DOWNLOADING" -msgstr "Ներբեռնում..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Մշակիչի դրվածքներ" diff --git a/setting-app/po/is.po b/setting-app/po/is.po deleted file mode 100644 index fd77595..0000000 --- a/setting-app/po/is.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Sækja" - -msgid "IDS_NETWORK_ERROR" -msgstr "Netvilla." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Það er ekki hægt að hlaða niður." - -msgid "IDS_DOWNLOADING" -msgstr "Sæki..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Stillingar vélar" diff --git a/setting-app/po/it_IT.po b/setting-app/po/it_IT.po deleted file mode 100644 index ebc8775..0000000 --- a/setting-app/po/it_IT.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Scarica" - -msgid "IDS_NETWORK_ERROR" -msgstr "Errore di rete." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Download non riuscito." - -msgid "IDS_DOWNLOADING" -msgstr "Download..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Impostazioni motore" diff --git a/setting-app/po/ja_JP.po b/setting-app/po/ja_JP.po deleted file mode 100644 index 285d302..0000000 --- a/setting-app/po/ja_JP.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "ダウンロード" - -msgid "IDS_NETWORK_ERROR" -msgstr "ネットワークエラーが発生しました。" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ダウンロードに失敗しました。" - -msgid "IDS_DOWNLOADING" -msgstr "ダウンロード中..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "エンジン設定" diff --git a/setting-app/po/ka.po b/setting-app/po/ka.po deleted file mode 100644 index 599524c..0000000 --- a/setting-app/po/ka.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "ჩამოტვირთვა" - -msgid "IDS_NETWORK_ERROR" -msgstr "ქსელის შეცდომა." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ვერ ჩამოიტვირთა." - -msgid "IDS_DOWNLOADING" -msgstr "ჩამოტვირთვა..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "მექანიზმის პარამეტრები" diff --git a/setting-app/po/kk.po b/setting-app/po/kk.po deleted file mode 100644 index aa3901d..0000000 --- a/setting-app/po/kk.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Жүктеу" - -msgid "IDS_NETWORK_ERROR" -msgstr "Желі қателігі" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Көшіру сәтсіз." - -msgid "IDS_DOWNLOADING" -msgstr "Жүктелуде..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Механизм параметрлері" diff --git a/setting-app/po/kn.po b/setting-app/po/kn.po deleted file mode 100644 index 7742ae7..0000000 --- a/setting-app/po/kn.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "ಡೌನ್‌ಲೋಡ್" - -msgid "IDS_NETWORK_ERROR" -msgstr "ನೆಟ್‌ವರ್ಕ್‌ ತಪ್ಪು." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ಡೌನಲೋಡ್ ಲಬ್ಯವಿರುವದಿಲ್ಲ." - -msgid "IDS_DOWNLOADING" -msgstr "ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "ಎಂಜಿನ್ ಸಂಯೋಜನೆಗಳು" diff --git a/setting-app/po/ko_KR.po b/setting-app/po/ko_KR.po deleted file mode 100644 index ebb6aac..0000000 --- a/setting-app/po/ko_KR.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "다운로드" - -msgid "IDS_NETWORK_ERROR" -msgstr "네트워크 오류가 발생하였습니다." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "다운로드하지 못하였습니다." - -msgid "IDS_DOWNLOADING" -msgstr "다운로드 중..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "엔진 설정" diff --git a/setting-app/po/lt.po b/setting-app/po/lt.po deleted file mode 100644 index 8c52a9d..0000000 --- a/setting-app/po/lt.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Atsisiųsti" - -msgid "IDS_NETWORK_ERROR" -msgstr "Tinklo klaida." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Atsisiųsti nepavyko." - -msgid "IDS_DOWNLOADING" -msgstr "Atsisiunčia..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Sistemos nustatymai" diff --git a/setting-app/po/lv.po b/setting-app/po/lv.po deleted file mode 100644 index 74b5bb9..0000000 --- a/setting-app/po/lv.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Lejupielādēt" - -msgid "IDS_NETWORK_ERROR" -msgstr "TÄ«kla kļūda." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Lejupielāde neizdevās." - -msgid "IDS_DOWNLOADING" -msgstr "Lejupielādē..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Programmas iestatÄ«jumi" diff --git a/setting-app/po/mk.po b/setting-app/po/mk.po deleted file mode 100644 index e2d7c69..0000000 --- a/setting-app/po/mk.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Преземи" - -msgid "IDS_NETWORK_ERROR" -msgstr "Грешка во мрежата." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Неуспешно преземање." - -msgid "IDS_DOWNLOADING" -msgstr "Се презема..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Поставувања за погонот" diff --git a/setting-app/po/ml.po b/setting-app/po/ml.po deleted file mode 100644 index 6a0e37c..0000000 --- a/setting-app/po/ml.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "ഡൗണ്‍‌ലോഡ്" - -msgid "IDS_NETWORK_ERROR" -msgstr "നെറ്റ്‌വര്‍ക്ക് പിശക്." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ഡൗണ്‍‌ലോഡ് ലഭ്യമല്ല." - -msgid "IDS_DOWNLOADING" -msgstr "ഡൗൺലോഡ് ചെ...." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "എൻജിൻ ക്രമീകരണങ്ങൾ" diff --git a/setting-app/po/nb.po b/setting-app/po/nb.po deleted file mode 100644 index d0bef97..0000000 --- a/setting-app/po/nb.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Last ned" - -msgid "IDS_NETWORK_ERROR" -msgstr "Nettverksfeil." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Nedlasting mislyktes." - -msgid "IDS_DOWNLOADING" -msgstr "Laster ned..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Motorinnstillinger" diff --git a/setting-app/po/nl.po b/setting-app/po/nl.po deleted file mode 100644 index 7af086d..0000000 --- a/setting-app/po/nl.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Downloaden" - -msgid "IDS_NETWORK_ERROR" -msgstr "Netwerkfout." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Downloaden mislukt." - -msgid "IDS_DOWNLOADING" -msgstr "Downloaden..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Instellingen engine" diff --git a/setting-app/po/pl.po b/setting-app/po/pl.po deleted file mode 100644 index 584adf0..0000000 --- a/setting-app/po/pl.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Pobierz" - -msgid "IDS_NETWORK_ERROR" -msgstr "Błąd sieci" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Błąd pobierania" - -msgid "IDS_DOWNLOADING" -msgstr "Pobieranie..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Ustawienia silnika" diff --git a/setting-app/po/pt_BR.po b/setting-app/po/pt_BR.po deleted file mode 100644 index ef31b75..0000000 --- a/setting-app/po/pt_BR.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Baixar" - -msgid "IDS_NETWORK_ERROR" -msgstr "Erro da rede." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Falha na transferência." - -msgid "IDS_DOWNLOADING" -msgstr "Baixando..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Configurações do mecanismo" diff --git a/setting-app/po/pt_PT.po b/setting-app/po/pt_PT.po deleted file mode 100644 index 7e5ea0f..0000000 --- a/setting-app/po/pt_PT.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Transferir" - -msgid "IDS_NETWORK_ERROR" -msgstr "Erro da rede." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Falha na transferência." - -msgid "IDS_DOWNLOADING" -msgstr "A transferir..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Definições de motor" diff --git a/setting-app/po/ro.po b/setting-app/po/ro.po deleted file mode 100644 index 924908e..0000000 --- a/setting-app/po/ro.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Descărcare" - -msgid "IDS_NETWORK_ERROR" -msgstr "Eroare rețea" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Descărcare eșuată" - -msgid "IDS_DOWNLOADING" -msgstr "Se descarcă…" - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Setări motor" diff --git a/setting-app/po/ru_RU.po b/setting-app/po/ru_RU.po deleted file mode 100644 index 90f283e..0000000 --- a/setting-app/po/ru_RU.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Загрузить" - -msgid "IDS_NETWORK_ERROR" -msgstr "Ошибка сети." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Загрузка невозможна." - -msgid "IDS_DOWNLOADING" -msgstr "Загрузка..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Параметры модуля" diff --git a/setting-app/po/si.po b/setting-app/po/si.po deleted file mode 100644 index 94722a0..0000000 --- a/setting-app/po/si.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "බාගන්න" - -msgid "IDS_NETWORK_ERROR" -msgstr "ජාල දෝෂයකි." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "බාගැනීම අසාර්ථකයි." - -msgid "IDS_DOWNLOADING" -msgstr "බාගනිමින්..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "යන්ත්‍ර සැකසුම්" diff --git a/setting-app/po/sk.po b/setting-app/po/sk.po deleted file mode 100644 index d8408d5..0000000 --- a/setting-app/po/sk.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "StiahnuÅ¥" - -msgid "IDS_NETWORK_ERROR" -msgstr "Chyba siete." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Stiahnutie nedostupné." - -msgid "IDS_DOWNLOADING" -msgstr "SÅ¥ahuje sa..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Nastavenia nástroja" diff --git a/setting-app/po/sl.po b/setting-app/po/sl.po deleted file mode 100644 index 224149b..0000000 --- a/setting-app/po/sl.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Prenos" - -msgid "IDS_NETWORK_ERROR" -msgstr "Napaka omrežja." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Prenos ni na voljo." - -msgid "IDS_DOWNLOADING" -msgstr "PrenaÅ¡anje ..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Nastavitve mehanizma" diff --git a/setting-app/po/sr.po b/setting-app/po/sr.po deleted file mode 100644 index 73ef0bc..0000000 --- a/setting-app/po/sr.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Preuzmi" - -msgid "IDS_NETWORK_ERROR" -msgstr "GreÅ¡ka mreže." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Preuzimanje neuspeÅ¡no." - -msgid "IDS_DOWNLOADING" -msgstr "Preuzima se..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "PodeÅ¡avanja mehanizma" diff --git a/setting-app/po/sv.po b/setting-app/po/sv.po deleted file mode 100644 index 677bc71..0000000 --- a/setting-app/po/sv.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Hämta" - -msgid "IDS_NETWORK_ERROR" -msgstr "Nätverksfel." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Hämtning misslyckades." - -msgid "IDS_DOWNLOADING" -msgstr "Hämtar ..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Motorinställningar" diff --git a/setting-app/po/ta.po b/setting-app/po/ta.po deleted file mode 100644 index 7bb3d13..0000000 --- a/setting-app/po/ta.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "பதிவிறக்குக" - -msgid "IDS_NETWORK_ERROR" -msgstr "நெட்வொர்க் பிழை." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "பதிவிறக்கம் செயலில் இல்லை." - -msgid "IDS_DOWNLOADING" -msgstr "பதிவிறக்குகிறது..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "என்ஜின் அமைவுகள்" diff --git a/setting-app/po/te.po b/setting-app/po/te.po deleted file mode 100644 index 513ec95..0000000 --- a/setting-app/po/te.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "డౌన్‌లోడ్‌ చేయి" - -msgid "IDS_NETWORK_ERROR" -msgstr "నెట్వర్క్ లోపం." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "డౌన్లోడ్ అలభ్యం." - -msgid "IDS_DOWNLOADING" -msgstr "డౌన్‌లోడ్ అవుతోంది..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "ఇంజిన్ సెట్టింగ్‌లు" diff --git a/setting-app/po/th.po b/setting-app/po/th.po deleted file mode 100644 index ba70679..0000000 --- a/setting-app/po/th.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "ดาวน์โหลด" - -msgid "IDS_NETWORK_ERROR" -msgstr "เครือข่ายผิดพลาด" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ไม่​มี​ดาวน์​โหลด" - -msgid "IDS_DOWNLOADING" -msgstr "กำลังดาวน์โหลด..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "การตั้งค่าเครื่องมือ" diff --git a/setting-app/po/tr_TR.po b/setting-app/po/tr_TR.po deleted file mode 100644 index 9acc9d1..0000000 --- a/setting-app/po/tr_TR.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Ä°ndir" - -msgid "IDS_NETWORK_ERROR" -msgstr "Şebeke hatalı." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Ä°ndirme başarısız." - -msgid "IDS_DOWNLOADING" -msgstr "Ä°ndiriliyor..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Motor ayarları" diff --git a/setting-app/po/uk.po b/setting-app/po/uk.po deleted file mode 100644 index 433e265..0000000 --- a/setting-app/po/uk.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Завантажити" - -msgid "IDS_NETWORK_ERROR" -msgstr "Помилка мережі." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Збій завантаження" - -msgid "IDS_DOWNLOADING" -msgstr "Завантаж..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Установки системи" diff --git a/setting-app/po/ur.po b/setting-app/po/ur.po deleted file mode 100644 index 23d956d..0000000 --- a/setting-app/po/ur.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "ڈاؤن لوڈ کریں" - -msgid "IDS_NETWORK_ERROR" -msgstr "نیٹ ورک کی غلطی۔" - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "ڈاونلوڈ مجود نہیں۔" - -msgid "IDS_DOWNLOADING" -msgstr "ڈاؤن لوڈ ہو رہا ہے..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "انجن سیٹنگز" diff --git a/setting-app/po/uz.po b/setting-app/po/uz.po deleted file mode 100644 index 350a44e..0000000 --- a/setting-app/po/uz.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "Yuklab olish" - -msgid "IDS_NETWORK_ERROR" -msgstr "Tarmoq xatosi." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "Yuklash bajarilmadi." - -msgid "IDS_DOWNLOADING" -msgstr "Yuklanmoqda..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "Mexanizm parametrlari" diff --git a/setting-app/po/zh_CN.po b/setting-app/po/zh_CN.po deleted file mode 100644 index bc5e5a7..0000000 --- a/setting-app/po/zh_CN.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "下载" - -msgid "IDS_NETWORK_ERROR" -msgstr "网络故障." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "下载失败." - -msgid "IDS_DOWNLOADING" -msgstr "正在下载..." - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "引擎设置" diff --git a/setting-app/po/zh_HK.po b/setting-app/po/zh_HK.po deleted file mode 100644 index 86e57de..0000000 --- a/setting-app/po/zh_HK.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "下載" - -msgid "IDS_NETWORK_ERROR" -msgstr "網絡故障." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "不能下載." - -msgid "IDS_DOWNLOADING" -msgstr "正在下載…" - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "引擎設定" diff --git a/setting-app/po/zh_TW.po b/setting-app/po/zh_TW.po deleted file mode 100644 index 1bddb8e..0000000 --- a/setting-app/po/zh_TW.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "IDS_DOWNLOAD" -msgstr "下載" - -msgid "IDS_NETWORK_ERROR" -msgstr "網路錯誤." - -msgid "IDS_DOWNLOAD_FAILED" -msgstr "無法下載." - -msgid "IDS_DOWNLOADING" -msgstr "正在下載…" - -msgid "IDS_VOICE_BODY_ENGINE_SETTINGS" -msgstr "引擎設定" diff --git a/setting-app/src/ttssmt_setting_main.c b/setting-app/src/ttssmt_setting_main.c deleted file mode 100644 index 426e795..0000000 --- a/setting-app/src/ttssmt_setting_main.c +++ /dev/null @@ -1,972 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* http://www.apache.org/licenses/LICENSE-2.0 -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#include -#include -#include - -#include "ttssmt_setting_main.h" - -typedef struct appdata { - Evas_Object *win; - Evas_Object *conform; - Evas_Object *naviframe; - Evas_Object *genlist; - - Evas_Object *progress_popup; - Evas_Object *delete_popup; - Elm_Object_Item *selected_lang; -} appdata_s; - -typedef enum { - DOWNLOAD_TITLE = 0, - CS_CZ_FEMALE, - DA_DK_FEMALE, - DE_DE_FEMALE, - DE_DE_MALE, - EL_GR_MALE, - EN_GB_FEMALE, - EN_GB_MALE, - EN_IN_FEMALE, - EN_US_FEMALE, - EN_US_MALE, - ES_ES_FEMALE, - ES_ES_MALE, - ES_MX_FEMALE, - ES_MX_MALE, - FI_FI_FEMALE, - FR_FR_FEMALE, - FR_FR_MALE, - HI_IN_FEMALE, - HU_HU_FEMALE, - IT_IT_FEMALE, - IT_IT_MALE, - JA_JP_FEMALE, - JA_JP_MALE, - KO_KR_FEMALE, - KO_KR_MALE, - NB_NO_FEMALE, - NL_NL_FEMALE, - PL_PL_FEMALE, - PT_BR_FEMALE, - PT_BR_MALE, - PT_PT_FEMALE, - PT_PT_MALE, - RU_RU_FEMALE, - SK_SK_FEMALE, - SV_SE_FEMALE, - TR_TR_FEMALE, - ZH_CN_FEMALE, - ZH_CN_MALE, - ZH_HK_FEMALE, - ZH_HK_MALE, - ZH_TW_FEMALE, - END_INDEX -} item_index_e; - -/* Todo - update language name */ -#define TEXT_DOWNLOAD _("IDS_DOWNLOAD") - -static char* item_data[END_INDEX][5] = { - {"", "", "", "", ""}, - {"\xC4\x8C\x65\xC5\xA1\x74\x69\x6e\x61 - \xC5\xBD\x65\x6e\x61", "cs_CZ_Female", "libttssmt-cs_CZ_Female", "cs_CZ", "Female"}, - {"Dansk - Kvinde", "da_DK_Female", "libttssmt-da_DK_Female", "da_DK", "Famale"}, - {"\x44\x65\x75\x74\x73\x63\x68 - Weiblich", "de_DE_Female", "libttssmt-de_DE_Female", "de_DE", "Female"}, - {"\x44\x65\x75\x74\x73\x63\x68 - Mannlich", "de_DE_Male", "libttssmt-de_DE_Male", "de_DE", "Male"}, - {"\xCE\x95\xCE\xBB\xCE\xBB\xCE\xB7\xCE\xBD\xCE\xB9\xCE\xBA\xCE\xAC - \xCE\x98\xCE\xB7\xCE\xBB\xCF\x85\xCE\xBA\xCF\x8C", "el_GR_Female", "libttssmt-el_GR_Female", "el_GR", "Female"}, - {"English (United Kingdom) - Female", "en_GB_Female", "libttssmt-en_GB_Female", "en_GB", "Female"}, - {"English (United Kingdom) - Male", "en_GB_Male", "libttssmt-en_GB_Male", "en_GB", "Male"}, - {"English (India) - Female", "en_IN_Female", "libttssmt-en_IN_Female", "en_IN", "Famale"}, - {"\x45\x6E\x67\x6C\x69\x73\x68 - Female", "en_US_Female", "libttssmt-en_US_Female", "en_US", "Female"}, - {"\x45\x6E\x67\x6C\x69\x73\x68 - Male", "en_US_Male", "libttssmt-en_US_Male", "en_US", "Male"}, - {"\x45\x73\x70\x61\xC3\xB1\x6F\x6C - Mujer", "es_ES_Female", "libttssmt-es_ES_Female", "es_ES", "Female"}, - {"\x45\x73\x70\x61\xC3\xB1\x6F\x6C - Hombre", "es_ES_Male", "libttssmt-es_ES_Male", "es_ES", "Male"}, - {"\x45\x73\x70\x61\xC3\xB1\x6f\x6c\x20\x28\x45\x73\x74\x61\x64\x6f\x73\x20\x55\x6e\x69\x64\x6f\x73\x29 - Mujer", "es_MX_Female", "libttssmt-es_MX_Female", "es_MX", "Female"}, - {"\x45\x73\x70\x61\xC3\xB1\x6f\x6c\x20\x28\x45\x73\x74\x61\x64\x6f\x73\x20\x55\x6e\x69\x64\x6f\x73\x29 - Hombre", "es_MX_Male", "libttssmt-es_MX_Male", "es_MX", "Male"}, - {"Suomi - Nainen ", "fi_FI_Female", "libttssmt-fi_FI_Female", "fi_FI", "Female"}, - {"\x46\x72\x61\x6E\xC3\xA7\x61\x69\x73 - Femme", "fr_FR_Female", "libttssmt-fr_FR_Female", "fr_FR", "Female"}, - {"\x46\x72\x61\x6E\xC3\xA7\x61\x69\x73 - Homme", "fr_FR_Male", "libttssmt-fr_FR_Male", "fr_FR", "Male"}, - {"\xE0\xA4\xB9\xE0\xA4\xBF\xE0\xA4\xA8\xE0\xA5\x8D\xE0\xA4\xA6\xE0\xA5\x80 - \xE0\xA4\xB8\xE0\xA5\x8D\xE0\xA4\xA4\xE0\xA5\x8D\xE0\xA4\xB0\xE0\xA5\x80", "hi_IN_Female", "libttssmt-hi_IN_Female", "hi_IN", "Female"}, - {"Magyar - \x4e\xC5\x91", "hu_HU_Female", "libttssmt-hu_HU_Female", "hu_HU", "Female"}, - {"\x49\x74\x61\x6C\x69\x61\x6E\x6F - Femmina", "it_IT_Female", "libttssmt-it_IT_Female", "it_IT", "Female"}, - {"\x49\x74\x61\x6C\x69\x61\x6E\x6F - Maschio", "it_IT_Male", "libttssmt-it_IT_Male", "it_IT", "Male"}, - {"\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E - \xE5\xA5\xB3\xE6\x80\xA7", "ja_JP_Female", "libttssmt-ja_JP_Female", "ja_JP", "Female"}, - {"\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E - \xE7\x94\xB7\xE6\x80\xA7", "ja_JP_Male", "libttssmt-ja_JP_Male", "ja_JP", "Male"}, - {"\xED\x95\x9C\xEA\xB5\xAD\xEC\x96\xB4 - \xEC\x97\xAC", "ko_KR_Female", "libttssmt-ko_KR_Female", "ko_KR", "Female"}, - {"\xED\x95\x9C\xEA\xB5\xAD\xEC\x96\xB4 - \xEB\x82\xA8", "ko_KR_Male", "libttssmt-ko_KR_Male", "ko_KR", "Male"}, - {"Norsk - Kvinne", "nb_NO_Female", "libttssmt-nb_NO_Female", "nb_NO", "Female"}, - {"Nederlands - Vrouw", "nl_NL_Female", "libttssmt-nl_NL_Female", "nl_NL", "Female"}, - {"Polski - Kobieta", "pl_PL_Female", "libttssmt-pl_PL_Female", "pl_PL", "Female"}, - {"\x50\x6f\x72\x74\x75\x67\x75\xC3\xAA\x73\x20\x28\x42\x72\x61\x73\x69\x6c\x29 - Feminino", "pt_BR_Female", "libttssmt-pt_BR_Female", "pt_BR", "Female"}, - {"\x50\x6f\x72\x74\x75\x67\x75\xC3\xAA\x73\x20\x28\x42\x72\x61\x73\x69\x6c\x29 - Masculino", "pt_BR_Male", "libttssmt-pt_BR_Male", "pt_BR", "Male"}, - {"\x50\x6f\x72\x74\x75\x67\x75\xC3\xAA\x73\x20\x28\x50\x6f\x72\x74\x75\x67\x61\x6c\x29 - Feminino", "pt_PT_Female", "libttssmt-pt_PT_Female", "pt_PT", "Female"}, - {"\x50\x6f\x72\x74\x75\x67\x75\xC3\xAA\x73\x20\x28\x50\x6f\x72\x74\x75\x67\x61\x6c\x29 - Masculino", "pt_PT_Male", "libttssmt-pt_PT_Male", "pt_PT", "Male"}, - {"\x50\xD1\x83\xD1\x81\xD1\x81\xD0\xBA\xD0\xB8\xD0\xB9 - \xD0\x96\xD0\xB5\xD0\xBD\xD1\x81\xD0\xBA\xD0\xB8\xD0\xB9", "ru_RU_Female", "libttssmt-ru_RU_Female", "ru_RU", "Female"}, - {"\x53\x6c\x6f\x76\x65\x6e\xC4\x8D\x69\x6e\x61 - \xC5\xBD\x65\x6e\x61", "sk_SK_Female", "libttssmt-sk_SK_Female", "sk_SK", "Female"}, - {"Svenska - Kvinna", "sv_SE_Female", "libttssmt-sv_SE_Female", "sv_SE", "Female"}, - {"\x54\xC3\xBC\x72\x6b\xC3\xA7\x65 - \x4b\x61\x64\xC4\xB1\x6e", "tr_TR_Female", "libttssmt-tr_TR_Female", "tr_TR", "Female"}, - {"\xE7\xAE\x80\xE4\xBD\x93\xE4\xB8\xAD\xE6\x96\x87 - \xE5\xA5\xB3", "zh_CN_Female", "libttssmt-zh_CN_Female", "zh_CN", "Female"}, - {"\xE7\xAE\x80\xE4\xBD\x93\xE4\xB8\xAD\xE6\x96\x87 - \xE7\x94\xB7", "zh_CN_Male", "libttssmt-zh_CN_Male", "zh_CN", "Male"}, - {"\xE7\xB9\x81\xE4\xBD\x93\xE4\xB8\xAD\xE6\x96\x87\x28\xE9\xA6\x99\xE6\xB8\xAF\x29 - \xE5\xA5\xB3", "zh_HK_Female", "libttssmt-zh_HK_Female", "zh_HK", "Female"}, - {"\xE7\xB9\x81\xE4\xBD\x93\xE4\xB8\xAD\xE6\x96\x87\x28\xE9\xA6\x99\xE6\xB8\xAF\x29 - \xE7\x94\xB7", "zh_HK_Male", "libttssmt-zh_HK_Male", "zh_HK", "Male"}, - {"\xE7\xB9\x81\xE4\xBD\x93\xE4\xB8\xAD\xE6\x96\x87\x28\xE5\x8F\xB0\xE6\xB9\xBE\x29 - \xE5\xA5\xB3", "zh_TW_Female", "libttssmt-zh_TW_Female", "zh_TW", "Female"} -}; - -#define TTS_TAG_ENGINE_BASE_TAG "tts-engine" -#define TTS_TAG_ENGINE_VOICE_SET "voices" -#define TTS_TAG_ENGINE_VOICE "voice" -#define TTS_TAG_ENGINE_VOICE_TYPE "type" - -#define TTS_TAG_VOICE_TYPE_FEMALE "female" -#define TTS_TAG_VOICE_TYPE_MALE "male" -#define TTS_TAG_VOICE_TYPE_CHILD "child" - -#define TTS_ENGINE_INFO tzplatform_mkpath(TZ_USER_HOME, "/share/.voice/tts/engine-info/ttssmt-info.xml") - -#define TTS_ENGINE_DATA_PATH tzplatform_mkpath(TZ_USER_HOME, "/share/.voice/tts/engine-info/") - -#define TTS_ENGINE_PO_PATH tzplatform_mkpath(TZ_SYS_RO_APP, "/org.tizen.ttssmt-setting/res/locale/") - -static Elm_Genlist_Item_Class *g_itc_group_title = NULL; -static Elm_Genlist_Item_Class *g_itc_button_1line = NULL; - -static appdata_s *g_ad; - -static int g_download_id; - -unsigned long long g_received_bytes = 0; -unsigned long long g_total_content_bytes = 0; - -typedef struct { - char* language; - int type; -} tts_config_voice_s; - -static int __tts_engine_info_add_voice(const char* path, tts_config_voice_s* voice) -{ - if (NULL == path || NULL == voice) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Input parameter is NULL"); - return -1; - } - - xmlDocPtr doc = NULL; - xmlNodePtr cur = NULL; - - doc = xmlParseFile(path); - if (doc == NULL) { - return -1; - } - - cur = xmlDocGetRootElement(doc); - if (cur == NULL) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Empty document"); - xmlFreeDoc(doc); - return -1; - } - - if (xmlStrcmp(cur->name, (const xmlChar *)TTS_TAG_ENGINE_BASE_TAG)) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] The wrong type, root node is NOT 'tts-engine'"); - xmlFreeDoc(doc); - return -1; - } - - cur = cur->xmlChildrenNode; - if (cur == NULL) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Empty document"); - xmlFreeDoc(doc); - return -1; - } - - while (cur != NULL) { - if (0 == xmlStrcmp(cur->name, (const xmlChar *)TTS_TAG_ENGINE_VOICE_SET)) { - xmlNodePtr voice_node = NULL; - voice_node = xmlNewNode(NULL, (const xmlChar *)TTS_TAG_ENGINE_VOICE); - if (2 == voice->type) { - xmlSetProp(voice_node, (const xmlChar *)TTS_TAG_ENGINE_VOICE_TYPE, (const xmlChar*)TTS_TAG_VOICE_TYPE_FEMALE); - } else { - xmlSetProp(voice_node, (const xmlChar *)TTS_TAG_ENGINE_VOICE_TYPE, (const xmlChar*)TTS_TAG_VOICE_TYPE_MALE); - } - - xmlNodeSetContent(voice_node, (const xmlChar *)voice->language); - xmlAddChild(cur, voice_node); - } - cur = cur->next; - } - - int ret = xmlSaveFormatFile(path, doc, 1); - if (0 > ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Save result : %d", ret); - } - - xmlFreeDoc(doc); - - return 0; -} - -static int __tts_engine_info_remove_voice(const char* path, tts_config_voice_s* voice) -{ - if (NULL == path || NULL == voice) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Input parameter is NULL"); - return -1; - } - - xmlDocPtr doc = NULL; - xmlNodePtr cur = NULL; - xmlChar *key = NULL; - xmlChar *attr = NULL; - - doc = xmlParseFile(path); - if (doc == NULL) { - return -1; - } - - cur = xmlDocGetRootElement(doc); - if (cur == NULL) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Empty document"); - xmlFreeDoc(doc); - return -1; - } - - if (xmlStrcmp(cur->name, (const xmlChar *)TTS_TAG_ENGINE_BASE_TAG)) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] The wrong type, root node is NOT 'tts-engine'"); - xmlFreeDoc(doc); - return -1; - } - - cur = cur->xmlChildrenNode; - if (cur == NULL) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Empty document"); - xmlFreeDoc(doc); - return -1; - } - - while (cur != NULL) { - if (0 == xmlStrcmp(cur->name, (const xmlChar *)TTS_TAG_ENGINE_VOICE_SET)) { - xmlNodePtr voice_node = NULL; - voice_node = cur->xmlChildrenNode; - - while (NULL != voice_node) { - if (0 == xmlStrcmp(voice_node->name, (const xmlChar *)TTS_TAG_ENGINE_VOICE)) { - key = xmlNodeGetContent(voice_node); - if (NULL != key) { - if (!strcmp((char*)key, voice->language)) { - int temp_type = -1; - attr = xmlGetProp(voice_node, (const xmlChar*)TTS_TAG_ENGINE_VOICE_TYPE); - if (NULL != attr) { - if (0 == xmlStrcmp(attr, (const xmlChar *)TTS_TAG_VOICE_TYPE_FEMALE)) { - temp_type = (int)2; - } else if (0 == xmlStrcmp(attr, (const xmlChar *)TTS_TAG_VOICE_TYPE_MALE)) { - temp_type = (int)1; - } - xmlFree(attr); - } - if (temp_type == voice->type) { - /* remove */ - xmlUnlinkNode(voice_node); - xmlFreeNode(voice_node); - } - } - xmlFree(key); - } else { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] <%s> has no content", TTS_TAG_ENGINE_VOICE_TYPE); - } - } - voice_node = voice_node->next; - } - } - cur = cur->next; - } - - int ret = xmlSaveFormatFile(path, doc, 1); - if (0 > ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Save result : %d", ret); - } - - xmlFreeDoc(doc); - - return 0; -} - -static char * __genlist_text_get(void *data, Evas_Object *obj, const char *part) -{ - item_index_e idx = (item_index_e)data; - - if (!strcmp("elm.text", part)) { - if (0 == idx) { - return strdup(_("IDS_DOWNLOAD")); - } else { - return strdup(item_data[idx][0]); - } - } - - return NULL; -} - -static bool __installed_lang(int idx) -{ - char filepath[1024] = {'\0',}; - const char* data_path = TTS_ENGINE_DATA_PATH; - snprintf(filepath, 1024, "%s/%s", data_path, item_data[idx][1]); - - if (EN_US_FEMALE == idx || KO_KR_FEMALE == idx || DE_DE_FEMALE == idx || FR_FR_FEMALE == idx || IT_IT_FEMALE == idx || ES_ES_FEMALE == idx) { - return true; - } else { - if (0 != access(filepath, F_OK)) { - return false; - } else { - return true; - } - } -} - -static void __check_changed_cb(void *data, Evas_Object *obj, void *event_info) -{ - elm_genlist_item_update(g_ad->selected_lang); -} - -static void __progress_cb(int download_id, unsigned long long recevied, void *user_data) -{ - g_received_bytes = recevied; - dlog_print(DLOG_INFO, LOG_TAG, "download_id(%d), received(%llu), total(%llu)", download_id, g_received_bytes, g_total_content_bytes); -} - -static Evas_Object * __genlist_content_get(void *data, Evas_Object *obj, const char *part) -{ - item_index_e idx = (item_index_e)data; - - if (!strcmp("elm.swallow.icon.1", part)) { - Evas_Object *check = elm_check_add(obj); - elm_object_style_set(check, "default"); - elm_check_state_set(check, __installed_lang(idx)); - if (EN_US_FEMALE == idx || KO_KR_FEMALE == idx || DE_DE_FEMALE == idx || FR_FR_FEMALE == idx || IT_IT_FEMALE == idx || ES_ES_FEMALE == idx) { - elm_object_disabled_set(check, EINA_TRUE); - } - - evas_object_propagate_events_set(check, EINA_TRUE); - evas_object_smart_callback_add(check, "changed", __check_changed_cb, data); - evas_object_show(check); - return check; - } - - return NULL; -} - -static void __hide_progress_popup() -{ - if (NULL != g_ad->progress_popup) { - evas_object_del(g_ad->progress_popup); - g_ad->progress_popup = NULL; - } -} - -static void __progress_popup_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - Ecore_Timer* timer = data; - if (NULL != timer) { - ecore_timer_del(timer); - timer = NULL; - } - return; -} - -static void __progress_popup_back_cb(void *data, Evas_Object *obj, void *event_info) -{ - dlog_print(DLOG_INFO, LOG_TAG, "Cancel by back button"); - int ret; - ret = download_cancel(g_download_id); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to download cancel"); - } - - __hide_progress_popup(); - return; -} - -static Eina_Bool __progress_popup_timer_cb(void* data) -{ - double value = 0.0; - char percentage[8] = {'\0',}; - Evas_Object *progressbar = data; - value = (double)((long double)g_received_bytes / (long double)g_total_content_bytes); - dlog_print(DLOG_ERROR, LOG_TAG, "popup timer : recevied(%llu), tatal(%llu), value(%lf)", g_received_bytes, g_total_content_bytes, value); - - elm_progressbar_value_set(progressbar, value); - snprintf(percentage, 8, "%d/100", (int)(value*100)); - elm_object_part_text_set(progressbar, "elm.text.top.right", (const char*)percentage); - - return ECORE_CALLBACK_RENEW; -} - -static void __show_progress_popup(bool failed, const char* msg) -{ - if (NULL != g_ad->progress_popup) { - evas_object_del(g_ad->progress_popup); - g_ad->progress_popup = NULL; - } - - Evas_Object *popup = elm_popup_add(g_ad->win); - elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0); - evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_text_set(popup, "title,text", _("IDS_DOWNLOADING")); - - Ecore_Timer *progress_timer = NULL; - - if (failed) { - if (NULL != msg) { - elm_object_part_text_set(popup, "default", msg); - } else { - elm_object_part_text_set(popup, "default", _("IDS_DOWNLOAD_FAILED")); - } - elm_popup_timeout_set(popup, 2.0); - - } else { - Evas_Object *progressbar = elm_progressbar_add(popup); - evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - elm_progressbar_value_set(progressbar, 0.0); - progress_timer = ecore_timer_add(0.5, __progress_popup_timer_cb, progressbar); - elm_object_part_text_set(progressbar, "elm.text.top.right", "0/100"); - - elm_object_content_set(popup, progressbar); - evas_object_show(progressbar); - } - - evas_object_smart_callback_add(popup, "block,clicked", NULL, NULL); - evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __progress_popup_del_cb, progress_timer); - eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, __progress_popup_back_cb, NULL); - - g_ad->progress_popup = popup; - - evas_object_show(popup); -} - -static void __show_complete_popup(void) -{ - usleep(1000000); - dlog_print(DLOG_ERROR, LOG_TAG, "progress bar is completed!!"); - - if (NULL != g_ad->progress_popup) { - evas_object_del(g_ad->progress_popup); - g_ad->progress_popup = NULL; - } - g_received_bytes = 0; - g_total_content_bytes = 0; - return; -} - -static void __delete_popup_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - if (NULL != g_ad->delete_popup) { - evas_object_del(g_ad->delete_popup); - g_ad->delete_popup = NULL; - } - return; -} - -static void __delete_popup_back_cb(void *data, Evas_Object *obj, void *event_info) -{ - return; -} - -static void __show_delete_popup() -{ - if (NULL != g_ad->delete_popup) { - evas_object_del(g_ad->delete_popup); - g_ad->delete_popup = NULL; - } - - Evas_Object *popup = elm_popup_add(g_ad->win); - elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0); - evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_text_set(popup, "title,text", "Deleting"); - elm_popup_timeout_set(popup, 1.0); - - Evas_Object *progressbar = elm_progressbar_add(popup); - elm_object_style_set(progressbar, "process_large"); - evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_pulse(progressbar, EINA_TRUE); - - elm_object_content_set(popup, progressbar); - evas_object_show(progressbar); - - evas_object_smart_callback_add(popup, "block,clicked", NULL, NULL); - evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __delete_popup_del_cb, NULL); - eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, __delete_popup_back_cb, NULL); - - g_ad->delete_popup = popup; - - evas_object_show(popup); -} - -static void __remove_temp_file(int idx) -{ - char cmd[1024] = {'\0',}; - //char* data_path = app_get_data_path(); - const char* data_path = TTS_ENGINE_DATA_PATH; - snprintf(cmd, 1024, "tar zxvf %s/%s.tar.gz -C %s", data_path, item_data[idx][2], data_path); - int ret = system(cmd); - dlog_print(DLOG_DEBUG, LOG_TAG, "system return(%d)", ret); - - char filepath[1024] = {'\0',}; - snprintf(filepath, 1024, "%s/%s.tar.gz", data_path, item_data[idx][2]); - remove(filepath); -} - -static void* __download_completed_cb(void *user_data) -{ - intptr_t pidx = (intptr_t)user_data; - int idx = (int)pidx; - __remove_temp_file(idx); - - /* TODO */ - tts_config_voice_s *voice = (tts_config_voice_s *)calloc(1, sizeof(tts_config_voice_s)); - voice->language = strdup(item_data[idx][3]); - if (!strcmp(item_data[idx][4], "Male")) { - voice->type = 1; - } else { - voice->type = 2; - } - __tts_engine_info_add_voice(TTS_ENGINE_INFO, voice); - - free(voice->language); - free(voice); - - __hide_progress_popup(); - elm_genlist_item_update(g_ad->selected_lang); - - wifi_deinitialize(); - - return NULL; -} - -static void* __download_failed_cb(void *user_data) -{ - intptr_t pidx = (intptr_t)user_data; - int idx = (int)pidx; - __remove_temp_file(idx); - - __show_progress_popup(true, NULL); - elm_genlist_item_update(g_ad->selected_lang); - - wifi_deinitialize(); - - return NULL; -} - -static void* __download_canceled_cb(void *user_data) -{ - intptr_t pidx = (intptr_t)user_data; - int idx = (int)pidx; - __remove_temp_file(idx); - - wifi_deinitialize(); - - return NULL; -} - -static void __download_state_changed_cb(int download_id, download_state_e state, void *user_data) -{ - dlog_print(DLOG_INFO, LOG_TAG, "State (%d)", state); - if (DOWNLOAD_STATE_COMPLETED == state) { - dlog_print(DLOG_INFO, LOG_TAG, "===== Download Completed"); - __show_complete_popup(); - ecore_main_loop_thread_safe_call_sync(__download_completed_cb, user_data); - download_unset_state_changed_cb(download_id); - download_unset_progress_cb(download_id); - download_destroy(download_id); - } else if (DOWNLOAD_STATE_FAILED == state) { - dlog_print(DLOG_INFO, LOG_TAG, "===== Download Failed"); - ecore_main_loop_thread_safe_call_sync(__download_failed_cb, user_data); - download_unset_state_changed_cb(download_id); - download_unset_progress_cb(download_id); - download_destroy(download_id); - } else if (DOWNLOAD_STATE_CANCELED == state) { - dlog_print(DLOG_INFO, LOG_TAG, "===== Download Canceled"); - ecore_main_loop_thread_safe_call_sync(__download_canceled_cb, user_data); - download_unset_state_changed_cb(download_id); - download_unset_progress_cb(download_id); - download_destroy(download_id); - } else if (DOWNLOAD_STATE_DOWNLOADING == state) { - dlog_print(DLOG_INFO, LOG_TAG, "===== Downloading"); - unsigned long long content_size; - int ret = download_get_content_size(download_id, &content_size); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to get contents size(%d)", ret); - } - g_total_content_bytes = content_size; - dlog_print(DLOG_INFO, LOG_TAG, "total size of contents(%llu)", g_total_content_bytes); - } - - dlog_print(DLOG_INFO, LOG_TAG, "====="); -} - -static void __wifi_conn_changed_cb(wifi_connection_state_e state, wifi_ap_h ap, void* user_data) -{ - if (WIFI_CONNECTION_STATE_CONNECTED != state) { - dlog_print(DLOG_INFO, LOG_TAG, "Wifi disconnected"); - int ret; - ret = download_cancel(g_download_id); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to download cancel(%d)", ret); - } - __show_progress_popup(true, _("IDS_NETWORK_ERROR")); - } -} - -static void __lang_item_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - elm_genlist_item_selected_set(item, EINA_FALSE); - g_ad->selected_lang = item; - - intptr_t pidx = (intptr_t)data; - int idx = (int)pidx; - dlog_print(DLOG_INFO, LOG_TAG, "[%d] item clicked", idx); - - /* download */ - if (false == __installed_lang(idx)) { - dlog_print(DLOG_INFO, LOG_TAG, ">> Download <<"); - - __remove_temp_file(idx); - - int ret; - - ret = wifi_initialize(); - if (WIFI_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to wifi init(%d)", ret); - } - - wifi_connection_state_e state; - ret = wifi_get_connection_state(&state); - if (WIFI_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to get wifi state(%d)", ret); - __show_progress_popup(true, _("IDS_NETWORK_ERROR")); - wifi_deinitialize(); - return; - } - - if (WIFI_CONNECTION_STATE_CONNECTED != state) { - dlog_print(DLOG_ERROR, LOG_TAG, "Wifi Disconnected"); - __show_progress_popup(true, _("IDS_NETWORK_ERROR")); - wifi_deinitialize(); - return; - } - - ret = wifi_set_connection_state_changed_cb(__wifi_conn_changed_cb, (void *)pidx); - if (WIFI_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to set wifi state changed cb(%d)", ret); - __show_progress_popup(true, _("IDS_NETWORK_ERROR")); - wifi_deinitialize(); - return; - } - - int download_id; - ret = download_create(&download_id); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to download create(%d)", ret); - __show_progress_popup(true, NULL); - wifi_deinitialize(); - return; - } - - ret = download_set_network_type(download_id, DOWNLOAD_NETWORK_WIFI); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to set network type(%d)", ret); - __show_progress_popup(true, _("IDS_NETWORK_ERROR")); - download_destroy(download_id); - wifi_deinitialize(); - return; - } - - ret = download_set_state_changed_cb(download_id, __download_state_changed_cb, (void *)pidx); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to set state cb(%d)", ret); - __show_progress_popup(true, NULL); - download_destroy(download_id); - wifi_deinitialize(); - return; - } - - ret = download_set_progress_cb(download_id, __progress_cb, NULL); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to set progress cb(%d)", ret); - __show_progress_popup(true, NULL); - download_unset_state_changed_cb(download_id); - download_destroy(download_id); - wifi_deinitialize(); - return; - } - - char url[1024] = {'\0',}; - snprintf(url, 1024, "http://download.tizen.org/releases/resources/voice/tts/smt-language-pack/%s.tar.gz", item_data[idx][2]); - ret = download_set_url(download_id, url); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to set url(%d)", ret); - __show_progress_popup(true, NULL); - download_unset_state_changed_cb(download_id); - download_unset_progress_cb(download_id); - download_destroy(download_id); - wifi_deinitialize(); - return; - } - - //char *data_path = app_get_data_path(); - const char *data_path = TTS_ENGINE_DATA_PATH; - ret = download_set_destination(download_id, data_path); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to set destination(%d)", ret); - __show_progress_popup(true, NULL); - download_unset_state_changed_cb(download_id); - download_unset_progress_cb(download_id); - download_destroy(download_id); - wifi_deinitialize(); - return; - } - //free(data_path); - - ret = download_start(download_id); - if (DOWNLOAD_ERROR_NONE != ret) { - dlog_print(DLOG_ERROR, LOG_TAG, "[ERROR] Fail to start(%d)", ret); - __show_progress_popup(true, NULL); - download_unset_state_changed_cb(download_id); - download_unset_progress_cb(download_id); - download_destroy(download_id); - wifi_deinitialize(); - return; - } - - g_download_id = download_id; - __show_progress_popup(false, NULL); - - dlog_print(DLOG_INFO, LOG_TAG, "<< End >>"); - } else { - dlog_print(DLOG_INFO, LOG_TAG, ">> Delete <<"); - char cmd[1024] = {'\0',}; - //char* data_path = app_get_data_path(); - const char* data_path = TTS_ENGINE_DATA_PATH; - snprintf(cmd, 1024, "rm -rf %s/*%s*", data_path, item_data[idx][1]); - int ret = system(cmd); - dlog_print(DLOG_DEBUG, LOG_TAG, "system return (%d)", ret); - elm_genlist_item_update(g_ad->selected_lang); - - __show_delete_popup(); - - tts_config_voice_s *voice = (tts_config_voice_s *)calloc(1, sizeof(tts_config_voice_s)); - voice->language = strdup(item_data[idx][3]); - if (!strcmp(item_data[idx][4], "Male")) { - voice->type = 1; - } else { - voice->type = 2; - } - __tts_engine_info_remove_voice(TTS_ENGINE_INFO, voice); - - free(voice->language); - free(voice); - - dlog_print(DLOG_INFO, LOG_TAG, "<< End >>"); - } -} - -static void create_contents(appdata_s *ad) -{ - /* Genlist */ - ad->genlist = elm_genlist_add(ad->naviframe); - elm_genlist_mode_set(ad->genlist, ELM_LIST_COMPRESS); - elm_genlist_homogeneous_set(ad->genlist, EINA_TRUE); - - g_itc_group_title = elm_genlist_item_class_new(); - if (NULL == g_itc_group_title) { - dlog_print(DLOG_ERROR, LOG_TAG, "Fail to item class new"); - return; - } - g_itc_group_title->item_style = "group_index"; - g_itc_group_title->func.text_get = __genlist_text_get; - g_itc_group_title->func.content_get = NULL; - g_itc_group_title->func.state_get = NULL; - g_itc_group_title->func.del = NULL; - - g_itc_button_1line = elm_genlist_item_class_new(); - if (NULL == g_itc_button_1line) { - dlog_print(DLOG_ERROR, LOG_TAG, "Fail to item class new"); - return; - } - g_itc_button_1line->item_style = "type1"; - g_itc_button_1line->func.text_get = __genlist_text_get; - g_itc_button_1line->func.content_get = __genlist_content_get; - g_itc_button_1line->func.state_get = NULL; - g_itc_button_1line->func.del = NULL; - - /* Download - Title */ - Elm_Object_Item *it; - intptr_t pi = (intptr_t)DOWNLOAD_TITLE; - it = elm_genlist_item_append(ad->genlist, g_itc_group_title, (void *)pi, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - int i; - for (i = DOWNLOAD_TITLE + 1; i < END_INDEX; i++) { - pi = (intptr_t)i; - it = elm_genlist_item_append(ad->genlist, g_itc_button_1line, (void *)pi, NULL, ELM_GENLIST_ITEM_NONE, __lang_item_clicked_cb, (void *)pi); - if (EN_US_FEMALE == i || KO_KR_FEMALE == i || DE_DE_FEMALE == i || FR_FR_FEMALE == i || IT_IT_FEMALE == i || ES_ES_FEMALE == i) { - elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_NONE); - } - } - - evas_object_show(ad->genlist); -} - -static Eina_Bool __naviframe_item_pop_cb(void *data, Elm_Object_Item *it) -{ - dlog_print(DLOG_DEBUG, LOG_TAG, ""); - ui_app_exit(); - return EINA_TRUE; -} - -static void create_base_gui(appdata_s *ad) -{ - g_ad = ad; - - bindtextdomain("org.tizen.ttssmt-setting", TTS_ENGINE_PO_PATH); - textdomain("org.tizen.ttssmt-setting"); - - /* Window */ - ad->win = elm_win_util_standard_add("org.tizen.ttssmt-setting", "org.tizen.ttssmt-setting"); - elm_win_autodel_set(ad->win, EINA_TRUE); - - if (elm_win_wm_rotation_supported_get(ad->win)) { - int rots[4] = { 0, 90, 180, 270 }; - elm_win_wm_rotation_available_rotations_set(ad->win, (const int *)(&rots), 4); - } - - /* Conformant */ - ad->conform = elm_conformant_add(ad->win); - elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW); - elm_win_indicator_opacity_set(ad->win, ELM_WIN_INDICATOR_OPAQUE); - evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(ad->win, ad->conform); - evas_object_show(ad->conform); - - /* Naviframe */ - ad->naviframe = elm_naviframe_add(ad->conform); - eext_object_event_callback_add(ad->naviframe, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL); - evas_object_size_hint_weight_set(ad->naviframe, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ad->naviframe, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(ad->conform, "elm.swallow.content", ad->naviframe); - evas_object_show(ad->naviframe); - - /* Contents */ - create_contents(ad); - Elm_Object_Item *main_item = elm_naviframe_item_push(ad->naviframe, _("IDS_VOICE_BODY_ENGINE_SETTINGS"), NULL, NULL, ad->genlist, NULL); - elm_naviframe_item_title_enabled_set(main_item, EINA_TRUE, EINA_TRUE); - elm_naviframe_item_pop_cb_set(main_item, __naviframe_item_pop_cb, ad); - elm_object_content_set(ad->conform, ad->naviframe); - - /* Show window after base gui is set up */ - evas_object_show(ad->win); -} - - -static bool app_create(void *data) -{ - /* Hook to take necessary actions before main event loop starts - Initialize UI resources and application's data - If this function returns true, the main loop of application starts - If this function returns false, the application is terminated */ - appdata_s *ad = data; - - create_base_gui(ad); - - return true; -} - -static void app_control(app_control_h app_control, void *data) -{ - /* Handle the launch request. */ -} - -static void app_pause(void *data) -{ - /* Take necessary actions when application becomes invisible. */ -} - -static void app_resume(void *data) -{ - /* Take necessary actions when application becomes visible. */ -} - -static void app_terminate(void *data) -{ - /* Release all resources. */ -} - -static void ui_app_lang_changed(app_event_info_h event_info, void *user_data) -{ - /*APP_EVENT_LANGUAGE_CHANGED*/ - return; -} - -static void ui_app_orient_changed(app_event_info_h event_info, void *user_data) -{ - /*APP_EVENT_DEVICE_ORIENTATION_CHANGED*/ - return; -} - -static void ui_app_region_changed(app_event_info_h event_info, void *user_data) -{ - /*APP_EVENT_REGION_FORMAT_CHANGED*/ -} - -static void ui_app_low_battery(app_event_info_h event_info, void *user_data) -{ - /*APP_EVENT_LOW_BATTERY*/ -} - -static void ui_app_low_memory(app_event_info_h event_info, void *user_data) -{ - /*APP_EVENT_LOW_MEMORY*/ -} - -int main(int argc, char *argv[]) -{ - appdata_s ad = {0,}; - int ret = 0; - - ui_app_lifecycle_callback_s event_callback = {0,}; - app_event_handler_h handlers[5] = {NULL, }; - - event_callback.create = app_create; - event_callback.terminate = app_terminate; - event_callback.pause = app_pause; - event_callback.resume = app_resume; - event_callback.app_control = app_control; - - ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, ui_app_low_battery, &ad); - ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, ui_app_low_memory, &ad); - ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, ui_app_orient_changed, &ad); - ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, ui_app_lang_changed, &ad); - ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, ui_app_region_changed, &ad); - ui_app_remove_event_handler(handlers[APP_EVENT_LOW_MEMORY]); - - ret = ui_app_main(argc, argv, &event_callback, &ad); - if (ret != APP_ERROR_NONE) { - dlog_print(DLOG_ERROR, LOG_TAG, "app_main() is failed. err = %d", ret); - } - - return ret; -} - - -/* -vi:ts=4:ai:nowrap:expandtab -*/ diff --git a/setting-app/src/ttssmt_setting_main.h b/setting-app/src/ttssmt_setting_main.h deleted file mode 100644 index 1974cb6..0000000 --- a/setting-app/src/ttssmt_setting_main.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* http://www.apache.org/licenses/LICENSE-2.0 -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#ifndef __TTSSMT_SETTING_MAIN_H -#define __TTSSMT_SETTING_MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef LOG_TAG -#undef LOG_TAG -#endif -#define LOG_TAG "ttssmt_setting" - -#ifdef __cplusplus -} -#endif - -#endif /* __TTSSMT_SETTING_MAIN_H */ - -/* -vi:ts=4:ai:nowrap:expandtab -*/ diff --git a/src/SMTApis.h b/src/SMTApis.h deleted file mode 100644 index 020b4a2..0000000 --- a/src/SMTApis.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Samsung TTS - * Copyright 2012-2016 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.1 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://floralicense.org/license/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _SMTAPIS_H_ -#define _SMTAPIS_H_ - - -#ifdef __cplusplus -extern "C" { -#endif - -#define UINT unsigned int - -typedef enum _eTypeLanguage -{ - eLANGUAGE_BEGIN = 0x00000000, - - eKOREAN = eLANGUAGE_BEGIN, // Çѱ¹¾î - - eUSENGLISH = 0x00000100, // ¹Ì±¹¿µ¾î - eUSENGLISH_OLD = 0x0000010F, - eGBENGLISH = 0x00000110, // ¿µ±¹¿µ¾î - eGBENGLISH_OLD = 0x0000011F, - eINENGLISH = 0x00000120, // Àεµ¿µ¾î - - eCHINESE = 0x00000200, // Áß±¹¾î(ºÏ°æ¾î) - eTAIWANESE = 0x00000210, // ´ë¸¸¾î - eCANTONESE = 0x00000220, // ±¤µ¿¾î(È«Äá¾î) - - eGERMAN = 0x00000300, // µ¶ÀϾî - eGERMAN_OLD = 0x0000030F, - eSPANISH = 0x00000400, // ½ºÆäÀξî - eSPANISH_OLD = 0x0000040F, - eFRENCH = 0x00000500, // ÇÁ¶û½º¾î - eFRENCH_OLD = 0x0000050F, - eITALIAN = 0x00000600, // ÀÌÅ»¸®¾Æ¾î - eITALIAN_OLD = 0x0000060F, - eDUTCH = 0x00000700, // ³×´ú¶õµå¾î - ePORTUGUESE = 0x00000800, // Æ÷¸£ÅõÄ®¾î - eGREEK = 0x00000900, // ±×¸®½º¾î - eTURKISH = 0x00000A00, // ÅÍÅ°¾î - - eRUSSIAN = 0x00000B00, // ·¯½Ã¾Æ¾î - - eJAPANESE = 0x00000C00, // ÀϺ»¾î - eJAPANESE_OLD = 0x00000C0F, - - /////////////////////////////////////////// - eDICTIONARY_USENGLISH = 0x10000100, // ¿µ¾î»çÀü - - eLANGUAGE_END, - eLANGUAGE_INVALID = eLANGUAGE_END, -} eTypeLanguage; - - -#define SMT_SUCCESS 0 -#define SMT_SYNTHESIS_FRAME_GENERATED 0 -#define SMT_SYNTHESIS_ALL_DONE 1 -#define SMT_SYNTHESIS_SENTENCE_DONE 2 -#define SMT_SYNTHESIS_PAUSE_DONE 3 - -typedef enum _eTypeTTSMode -{ - eTTSMode_Normal, - eTTSMode_Dictionary, - - /////////////////////////////////////////// - - eTTSMode_INVALID, -} eTypeTTSMode; - -typedef enum -{ - eSMTSpeechSpeed_VerySlow, - eSMTSpeechSpeed_Slow, - eSMTSpeechSpeed_Normal, - eSMTSpeechSpeed_Fast, - eSMTSpeechSpeed_VeryFast, -} etypeSpeechSpeed; - -int SMTSetVoice (eTypeTTSMode const eTTSMode, char const * const pszFilePath, char const DirDelimiter, char const * const pszLanguage, char const * const pszContry, char const * const pszVoiceType, UINT const VoiceIndex); -int SMTCheckVoiceAvailable(eTypeTTSMode const eTTSMode, char const * const pszFilePath, char const DirDelimiter, char const * const pszLanguage, char const * const pszContry, char const * const pszVoiceType, UINT const VoiceIndex); -int SMTGetSamplingRate(void); - -int SMTInitialize(void); -int SMTFinalize(void); -int SMTSet_Language(eTypeLanguage eLanguage, int VoiceType, int ModelFileLocation); -int SMTInputText(char const * const pszText_UTF8); -int SMTSynthesize(short * const pPcmBuffer); - -int SMTGetFramePeriod (void); - -void SMTSetSpeechSpeed(etypeSpeechSpeed const speed); - -int SMTSaveWave(char* pszFileName, short* pOutData, int const nDataSize); - -#ifdef __cplusplus -} -#endif - -#endif //_SMTAPIS_H_ - - diff --git a/src/_SlpSmtApis.cpp b/src/_SlpSmtApis.cpp deleted file mode 100644 index 4d64635..0000000 --- a/src/_SlpSmtApis.cpp +++ /dev/null @@ -1,847 +0,0 @@ -/* -* Samsung TTS -* Copyright 2012-2016 Samsung Electronics Co., Ltd -* -* Licensed under the Flora License, Version 1.1 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://floralicense.org/license/ -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#include "SMTApis.h" - -#include "_SlpSmtApis.h" -#include -#include -#include -#include -#include - -#include -#include -#include - -#define SMT_SAMPLING_RATE 16000 -#define SMT_FRAME_PERIOD 80 - -#define PCM_BUFFER_SIZE 640000 - -// Not supported yet { -#define TTSPE_LANG_CANTONESE "zh_HK" -#define TTSPE_LANG_TAIWAN "zh_TW" -#define TTSPE_LANG_RUSSIAN "ru_RU" -#define TTSPE_LANG_JAPANESE "ja_JP" -#define TTSPE_LANG_NETHERLANDS "nl_NL" -#define TTSPE_LANG_PORTUGUESE "pt_PT" -#define TTSPE_LANG_GREEK "el_GR" -#define TTSPE_LANG_TURKEY "tr_TR" -// Not supported yet } - - -typedef struct __TypeVoiceInfo _TypeVoiceInfo; -struct __TypeVoiceInfo -{ - char const * const pszLanguage; - unsigned int const sszLanguage; - int const eVoiceType; - -}; - - -static char const _pszKorean [] = "ko_KR"; -static char const _pszUSEnglish [] = "en_US"; -static char const _pszChinese [] = "zh_CN"; -static char const _pszUKEnglish [] = "en_GB"; -static char const _pszGerman [] = "de_DE"; -static char const _pszSpanish [] = "es_ES"; -static char const _pszFrench [] = "fr_FR"; -static char const _pszItalian [] = "it_IT"; -static char const _pszRussian [] = "ru_RU"; -static char const _pszJapanese [] = "ja_JP"; -static char const _pszBRPortuguese [] = "pt_BR"; -static char const _pszPTPortuguese [] = "pt_PT"; -static char const _pszMXSpanish [] = "es_US"; - -static char const _pszGreek [] = "el_GR"; -static char const _pszTWChinese [] = "zh_TW"; -static char const _pszNorwegian [] = "nb_NO"; -static char const _pszHKChinese [] = "zh_HK"; -static char const _pszPolish [] = "pl_PL"; -static char const _pszHungarian [] = "hu_HU"; -static char const _pszCzech [] = "cs_CZ"; -static char const _pszFinnish [] = "fi_FI"; -static char const _pszHindi [] = "hi_IN"; -static char const _pszINEnglish [] = "en_IN"; -static char const _pszSwedish [] = "sv_SE"; -static char const _pszDanish [] = "da_DK"; -static char const _pszTurkish [] = "tr_TR"; -static char const _pszSlovak [] = "sk_SK"; -static char const _pszDutch [] = "nl_NL"; - -static unsigned int const _sszKorean = sizeof(_pszKorean); -static unsigned int const _sszUSEnglish = sizeof(_pszUSEnglish); -static unsigned int const _sszChinese = sizeof(_pszChinese); -static unsigned int const _sszUKEnglish = sizeof(_pszUKEnglish); -static unsigned int const _sszGerman = sizeof(_pszGerman); -static unsigned int const _sszSpanish = sizeof(_pszSpanish); -static unsigned int const _sszFrench = sizeof(_pszFrench); -static unsigned int const _sszItalian = sizeof(_pszItalian); -static unsigned int const _sszRussian = sizeof(_pszRussian); -static unsigned int const _sszJapanese = sizeof(_pszJapanese); -static unsigned int const _sszBRPortuguese = sizeof(_pszBRPortuguese); -static unsigned int const _sszPTPortuguese = sizeof(_pszPTPortuguese); -static unsigned int const _sszMXSpanish = sizeof(_pszMXSpanish); - -static unsigned int const _sszGreek = sizeof(_pszGreek ); -static unsigned int const _sszTWChinese = sizeof(_pszTWChinese ); -static unsigned int const _sszNorwegian = sizeof(_pszNorwegian ); -static unsigned int const _sszHKChinese = sizeof(_pszHKChinese ); -static unsigned int const _sszPolish = sizeof(_pszPolish ); -static unsigned int const _sszHungarian = sizeof(_pszHungarian ); -static unsigned int const _sszCzech = sizeof(_pszCzech ); -static unsigned int const _sszFinnish = sizeof(_pszFinnish ); -static unsigned int const _sszHindi = sizeof(_pszHindi ); -static unsigned int const _sszINEnglish = sizeof(_pszINEnglish ); -static unsigned int const _sszSwedish = sizeof(_pszSwedish ); -static unsigned int const _sszDanish = sizeof(_pszDanish ); -static unsigned int const _sszTurkish = sizeof(_pszTurkish ); -static unsigned int const _sszSlovak = sizeof(_pszSlovak ); -static unsigned int const _sszDutch = sizeof(_pszDutch ); - - -static const _TypeVoiceInfo _pVoiceInfos[] = -{ - { _pszKorean , _sszKorean , TTSP_VOICE_TYPE_FEMALE }, - { _pszKorean , _sszKorean , TTSP_VOICE_TYPE_MALE }, - { _pszUSEnglish , _sszUSEnglish , TTSP_VOICE_TYPE_FEMALE }, - { _pszUSEnglish , _sszUSEnglish , TTSP_VOICE_TYPE_MALE }, - { _pszChinese , _sszChinese , TTSP_VOICE_TYPE_FEMALE }, - { _pszChinese , _sszChinese , TTSP_VOICE_TYPE_MALE }, - { _pszUKEnglish , _sszUKEnglish , TTSP_VOICE_TYPE_FEMALE }, - { _pszUKEnglish , _sszUKEnglish , TTSP_VOICE_TYPE_MALE }, - { _pszGerman , _sszGerman , TTSP_VOICE_TYPE_FEMALE }, - { _pszGerman , _sszGerman , TTSP_VOICE_TYPE_MALE }, - { _pszSpanish , _sszSpanish , TTSP_VOICE_TYPE_FEMALE }, - { _pszSpanish , _sszSpanish , TTSP_VOICE_TYPE_MALE }, - { _pszFrench , _sszFrench , TTSP_VOICE_TYPE_FEMALE }, - { _pszFrench , _sszFrench , TTSP_VOICE_TYPE_MALE }, - { _pszItalian , _sszItalian , TTSP_VOICE_TYPE_FEMALE }, - { _pszItalian , _sszItalian , TTSP_VOICE_TYPE_MALE }, - { _pszRussian , _sszRussian , TTSP_VOICE_TYPE_FEMALE }, - { _pszJapanese , _sszJapanese , TTSP_VOICE_TYPE_FEMALE }, - { _pszJapanese , _sszJapanese , TTSP_VOICE_TYPE_MALE }, - { _pszBRPortuguese , _sszBRPortuguese , TTSP_VOICE_TYPE_FEMALE }, - { _pszBRPortuguese , _sszBRPortuguese , TTSP_VOICE_TYPE_MALE }, - { _pszPTPortuguese , _sszPTPortuguese , TTSP_VOICE_TYPE_FEMALE }, - { _pszPTPortuguese , _sszPTPortuguese , TTSP_VOICE_TYPE_MALE }, - { _pszMXSpanish , _sszMXSpanish , TTSP_VOICE_TYPE_FEMALE }, - { _pszMXSpanish , _sszMXSpanish , TTSP_VOICE_TYPE_MALE }, - - { _pszGreek , _sszGreek , TTSP_VOICE_TYPE_FEMALE }, - { _pszTWChinese , _sszTWChinese , TTSP_VOICE_TYPE_FEMALE }, - { _pszNorwegian , _sszNorwegian , TTSP_VOICE_TYPE_FEMALE }, - { _pszHKChinese , _sszHKChinese , TTSP_VOICE_TYPE_FEMALE }, - { _pszHKChinese , _sszHKChinese , TTSP_VOICE_TYPE_MALE }, - { _pszPolish , _sszPolish , TTSP_VOICE_TYPE_FEMALE }, - { _pszHungarian , _sszHungarian , TTSP_VOICE_TYPE_FEMALE }, - { _pszCzech , _sszCzech , TTSP_VOICE_TYPE_FEMALE }, - { _pszFinnish , _sszFinnish , TTSP_VOICE_TYPE_FEMALE }, - { _pszHindi , _sszHindi , TTSP_VOICE_TYPE_FEMALE }, - { _pszINEnglish , _sszINEnglish , TTSP_VOICE_TYPE_FEMALE }, - { _pszSwedish , _sszSwedish , TTSP_VOICE_TYPE_FEMALE }, - { _pszDanish , _sszDanish , TTSP_VOICE_TYPE_FEMALE }, - { _pszTurkish , _sszTurkish , TTSP_VOICE_TYPE_FEMALE }, - { _pszSlovak , _sszSlovak , TTSP_VOICE_TYPE_FEMALE }, - { _pszDutch , _sszDutch , TTSP_VOICE_TYPE_FEMALE } -}; - -#define _nVoiceInfos (sizeof(_pVoiceInfos) / sizeof(_pVoiceInfos[0])) - -// index of VoiceInfos -#define VOICE_INDEX_KOREAN_WOMAN 0 -#define VOICE_INDEX_KOREAN_MAN 1 -#define VOICE_INDEX_USENGLISH_WOMAN 2 -#define VOICE_INDEX_USENGLISH_MAN 3 -#define VOICE_INDEX_CHINESE_WOMAN 4 -#define VOICE_INDEX_CHINESE_MAN 5 -#define VOICE_INDEX_UKENGLISH_WOMAN 6 -#define VOICE_INDEX_UKENGLISH_MAN 7 -#define VOICE_INDEX_GERMAN_WOMAN 8 -#define VOICE_INDEX_GERMAN_MAN 9 -#define VOICE_INDEX_SPANISH_WOMAN 10 -#define VOICE_INDEX_SPANISH_MAN 11 -#define VOICE_INDEX_FRENCH_WOMAN 12 -#define VOICE_INDEX_FRENCH_MAN 13 -#define VOICE_INDEX_ITALIAN_WOMAN 14 -#define VOICE_INDEX_ITALIAN_MAN 15 -#define VOICE_INDEX_RUSSIAN_WOMAN 16 -#define VOICE_INDEX_JAPANESE_WOMAN 17 -#define VOICE_INDEX_JAPANESE_MAN 18 -#define VOICE_INDEX_BRPORTUGUESE_WOMAN 19 -#define VOICE_INDEX_BRPORTUGUESE_MAN 20 -#define VOICE_INDEX_PTPORTUGUESE_WOMAN 21 -#define VOICE_INDEX_PTPORTUGUESE_MAN 22 -#define VOICE_INDEX_MXSPANISH_WOMAN 23 -#define VOICE_INDEX_MXSPANISH_MAN 24 - -#define VOICE_INDEX_GREEK_WOMAN 25 -#define VOICE_INDEX_TWCHINESE_WOMAN 26 -#define VOICE_INDEX_NORWEGIAN_WOMAN 27 -#define VOICE_INDEX_HKCHINESE_WOMAN 28 -#define VOICE_INDEX_HKCHINESE_MAN 29 -#define VOICE_INDEX_POLISH_WOMAN 30 -#define VOICE_INDEX_HUNGARIAN_WOMAN 31 -#define VOICE_INDEX_CZECH_WOMAN 32 -#define VOICE_INDEX_FINNISH_WOMAN 33 -#define VOICE_INDEX_HINDI_WOMAN 34 -#define VOICE_INDEX_INENGLISH_WOMAN 35 -#define VOICE_INDEX_SWEDISH_WOMAN 36 -#define VOICE_INDEX_DANISH_WOMAN 37 -#define VOICE_INDEX_TURKISH_WOMAN 38 -#define VOICE_INDEX_SLOVAK_WOMAN 39 -#define VOICE_INDEX_DUTCH_WOMAN 40 - -#define VOICE_INDEX_MAX VOICE_INDEX_DUTCH_WOMAN - -#define DATA_DIR1 tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/smt_vdata/") - -//static const char* DATA_DIR2 = app_get_data_path(); -#define DATA_DIR2 tzplatform_mkpath(TZ_USER_HOME, "/share/.voice/tts/engine-info/") - -static ttspe_voice_info_s * _gpVoiceInfos = NULL; - -typedef struct _TypeThreadQueueNode TypeThreadQueueNode; -struct _TypeThreadQueueNode -{ - int iVoiceInfo; - char * pszTextUtf8; - void * pUserParam; - TypeThreadQueueNode * pNext; -}; - -static struct _global -{ - ttspe_result_cb pfnCallback; - - int eSpeechSpeed; - int iVoiceInfo; - bool bStop; - std::mutex bStopMutex; - bool bSentenceDone; - int iSamplingRate; - // thread - int ThreadId; - pthread_t Thread; - pthread_mutex_t ThreadLock; - pthread_mutex_t MainThreadFinalizeLock; - TypeThreadQueueNode* ThreadQueue_pHead; - TypeThreadQueueNode* ThreadQueue_pTail; -} _g = -{ - NULL , // pfnCallback - - 8 , // eSpeechSpeed - -1 , // iVoiceInfo, initial value means INVALID INDEX - false , // bStop - {} , // bStopMutex - true , // bSentenceDone - SMT_SAMPLING_RATE , // iSamplingRate - - -1 , // ThreadId - 0 , // Thread - PTHREAD_MUTEX_INITIALIZER, // ThreadLock - PTHREAD_MUTEX_INITIALIZER, // MainThreadFinalizeLock - NULL , // ThreadQueue_pHead - NULL , // ThreadQueue_pTail -}; - -static void _PushThreadData (int const iVoiceInfo, char const * pszTextUtf8, void* pUserParam); -static TypeThreadQueueNode* _PopThreadData (void); -static bool _bEmptyThreadData(void); -static void _CleanThreadData(void); -static void * _Synthesize (void* NotUsed); // Thread routine - - -static int _ChangeVoice (int const iVoiceInfo); -static void _SetSpeechSpeed (void); -static void _CallBack (ttsp_result_event_e eEvent, unsigned int const nPCMs, void * pPCMs, void* pUserParam); -static int _Synthesize_SamsungTTS(char const * const pszTextUtf8, void* pUserParam, int const FramePeriod); - -char const * SLPSMT_GetPszKorean (void) { return _pszKorean ; } -char const * SLPSMT_GetPszUSEnglish (void) { return _pszUSEnglish ; } -char const * SLPSMT_GetPszChinese (void) { return _pszChinese ; } -char const * SLPSMT_GetPszUKEnglish (void) { return _pszUKEnglish ; } -char const * SLPSMT_GetPszGerman (void) { return _pszGerman ; } -char const * SLPSMT_GetPszSpanish (void) { return _pszSpanish ; } -char const * SLPSMT_GetPszFrench (void) { return _pszFrench ; } -char const * SLPSMT_GetPszItalian (void) { return _pszItalian ; } -char const * SLPSMT_GetPszRussian (void) { return _pszRussian ; } -char const * SLPSMT_GetPszJapanese (void) { return _pszJapanese ; } -char const * SLPSMT_GetPszBRPortuguese (void) { return _pszBRPortuguese ; } -char const * SLPSMT_GetPszPTPortuguese (void) { return _pszPTPortuguese ; } -char const * SLPSMT_GetPszMXSpanish (void) { return _pszMXSpanish ; } - -char const * SLPSMT_GetPszGreek(void) { return _pszGreek ;} -char const * SLPSMT_GetPszTWChinese(void) { return _pszTWChinese ;} -char const * SLPSMT_GetPszNorwegian(void) { return _pszNorwegian ;} -char const * SLPSMT_GetPszHKChinese(void) { return _pszHKChinese ;} -char const * SLPSMT_GetPszPolish(void) { return _pszPolish ;} -char const * SLPSMT_GetPszHungarian(void) { return _pszHungarian ;} -char const * SLPSMT_GetPszCzech(void) { return _pszCzech ;} -char const * SLPSMT_GetPszFinnish(void) { return _pszFinnish ;} -char const * SLPSMT_GetPszHindi(void) { return _pszHindi ;} -char const * SLPSMT_GetPszINEnglish(void) { return _pszINEnglish ;} -char const * SLPSMT_GetPszSwedish(void) { return _pszSwedish ;} -char const * SLPSMT_GetPszDanish(void) { return _pszDanish ;} -char const * SLPSMT_GetPszTurkish(void) { return _pszTurkish ;} -char const * SLPSMT_GetPszSlovak(void) { return _pszSlovak ;} -char const * SLPSMT_GetPszDutch(void) { return _pszDutch ;} - - -int SLPSMT_GetWorkingThreadId(void) { return _g.ThreadId; } - - - - -int SLPSMT_StopSynthesis(void) -{ - SLOG(LOG_DEBUG, TAG_TTSP, ">> SLPSMT_StopSynthesis()"); - std::lock_guard lock( _g.bStopMutex ); - _g.bStop = true; - _g.bSentenceDone = true; - _CleanThreadData(); - return TTSP_ERROR_NONE; -} - -int SLPSMT_SynthesizeText(int const iVoiceInfo, char const * pszTextUtf8, void * const pUserParam) -{ - if (! _g.pfnCallback) { return TTSP_ERROR_INVALID_STATE; } - if (! pszTextUtf8 || ! *pszTextUtf8) { return TTSP_ERROR_INVALID_PARAMETER; } - - SLOG(LOG_DEBUG, TAG_TTSP, ">> SLPSMT_SynthesizeText()"); - SLOG(LOG_DEBUG, TAG_TTSP, ">>>> iVoiceInfo : %d", iVoiceInfo ); - SLOG(LOG_DEBUG, TAG_TTSP, ">>>> pszTextUtf8 : %s", pszTextUtf8); - - - std::lock_guard lock( _g.bStopMutex ); - _g.bStop = false; - - _PushThreadData(iVoiceInfo, pszTextUtf8, pUserParam); - - if (_g.ThreadId < 0) - { - _g.ThreadId = pthread_create(& _g.Thread, NULL, _Synthesize, pUserParam); - if (_g.ThreadId < 0) - { - SLOG(LOG_ERROR, TAG_TTSP, ">>> Fail to create thread"); - return TTSP_ERROR_OPERATION_FAILED; - } - pthread_detach(_g.Thread); - } - return TTSP_ERROR_NONE; -} - -/* -int SLPSMT_GetiVoiceInfoEx(char const *pszLanguage, int const eVoiceType) -{ - int i; - for (i=0 ; i<_nVoiceInfos ; i++) - { - if ( eVoiceType == _pVoiceInfos[i].eVoiceType && ! strcmp(pszLanguage , _pVoiceInfos[i].pszLanguage) ) - { - int iResult = -1; - _eTypeTTSMode TTSType = eTTSMode_Normal; - char Language[3] = {0,}; - char Contry[3] = {0,}; - char VoiceType[2] = {0,}; - - VoiceType[0] = 'f'; - VoiceType[1] = 0; - memcpy( Language , pszLanguage , sizeof(Language)-1); - memcpy( Contry , pszLanguage+3 , sizeof(Contry)-1); - - if( eVoiceType == TTSP_VOICE_TYPE_MALE ) VoiceType[0] = 'm'; - - iResult = SMTCheckVoiceAvailable( (_eTypeTTSMode)TTSType , DATA_DIR1 , '/' , Language , Contry , VoiceType , 0 ); - - SLOG(LOG_DEBUG, TAG_TTSP, "%d)####### iResult [%d]",i , iResult); - - if( iResult == 0 ) return i ; - } - } - return -1; -} -*/ - -int SLPSMT_SetVoiceList(ttspe_voice_list_s * p) -{ - if (! _gpVoiceInfos) - { - unsigned int i; - - _gpVoiceInfos = (ttspe_voice_info_s*) calloc(_nVoiceInfos, sizeof(ttspe_voice_info_s)); - if (! _gpVoiceInfos) { return TTSP_ERROR_OUT_OF_MEMORY; } - - for (i=0 ; i<_nVoiceInfos ; i++) - { - _gpVoiceInfos[i].lang = strdup(_pVoiceInfos[i].pszLanguage); - _gpVoiceInfos[i].vctype = _pVoiceInfos[i].eVoiceType ; - } - } - p->voice_info = _gpVoiceInfos; - p->size = _nVoiceInfos; - return TTSP_ERROR_NONE; -} - -void SLPSMT_SetSpeechSpeed(int const eSpeechSpeed) -{ - int level = -1; - - if (eSpeechSpeed == 0) { - // level = TTSP_SPEED_NORMAL; - level = 8; - } else if (eSpeechSpeed >= 1 && eSpeechSpeed <= 3) { - level = 2; - } else if (eSpeechSpeed >= 4 && eSpeechSpeed <= 6) { - level = 5; - } else if (eSpeechSpeed >= 7 && eSpeechSpeed <= 9) { - level = 8; - } else if (eSpeechSpeed >= 10 && eSpeechSpeed <= 12) { - level = 11; - } else if (eSpeechSpeed >= 13 && eSpeechSpeed <= 15) { - level = 14; - } else { - level = 8; - } - - _g.eSpeechSpeed = level; -} - -int SLPSMT_GetiVoiceInfo(char const *pszLanguage, int const eVoiceType) -{ - int i; - for (i=0 ; i<_nVoiceInfos ; i++) - { - if (eVoiceType == _pVoiceInfos[i].eVoiceType - && ! strcmp(pszLanguage , _pVoiceInfos[i].pszLanguage) - ) - { - return i; - } - } - return -1; -} - -int SLPSMT_Initialize(ttspe_result_cb pfnCallBack) -{ - if (pfnCallBack) - { - _g.pfnCallback = pfnCallBack; - return TTSP_ERROR_NONE; - } - return TTSP_ERROR_INVALID_STATE; -} - -int SLPSMT_Finalize(void) -{ - SLOG(LOG_DEBUG, TAG_TTSP, ">>>> SLPSMT_Finalize() called."); - - std::lock_guard lock( _g.bStopMutex ); - _g.bStop = true; - - _CleanThreadData(); - - pthread_mutex_lock (& _g.MainThreadFinalizeLock); // <---- lock - SMTFinalize(); - pthread_mutex_unlock(& _g.MainThreadFinalizeLock); // <---- unlock - - if (_gpVoiceInfos) - { - unsigned int i; - for (i=0 ; i<_nVoiceInfos ; i++) - { - if (_gpVoiceInfos[i].lang) { free(_gpVoiceInfos[i].lang); } - } - free(_gpVoiceInfos); - } - - _g.pfnCallback = NULL; - _g.eSpeechSpeed = 8; - _g.iVoiceInfo = -1; - while(_g.ThreadId != -1){ - usleep(10000); - } - - SLOG(LOG_DEBUG, TAG_TTSP, ">>>> SLPSMT_Finalize() returns."); - return TTSP_ERROR_NONE; -} - - - - -static void _PushThreadData(int const iVoiceInfo, char const * pszTextUtf8, void* pUserParam) -// iVoiceInfo should be correct. -// pszTextUtf8 should not be NULL. -{ - bool b = false; - char * pszDuplicatedTextUtf8; - - pthread_mutex_lock (& _g.ThreadLock); // <---- lock - - pszDuplicatedTextUtf8 = strdup(pszTextUtf8); - if (pszDuplicatedTextUtf8) - { - TypeThreadQueueNode* p = (TypeThreadQueueNode*) calloc (1, sizeof(TypeThreadQueueNode)); - if (p) - { - p->iVoiceInfo = iVoiceInfo; - p->pszTextUtf8 = pszDuplicatedTextUtf8; - p->pUserParam = pUserParam; - if (! _g.ThreadQueue_pHead) { _g.ThreadQueue_pHead = p; } - if ( _g.ThreadQueue_pTail) { _g.ThreadQueue_pTail->pNext = p; } - _g.ThreadQueue_pTail = p; - b = true; - } - - if (! b) { free(pszDuplicatedTextUtf8); } - } - - if (! b) { SLOG(LOG_ERROR, TAG_TTSP, ">>>__PushThreadData, out of memory"); } - - pthread_mutex_unlock(& _g.ThreadLock); // <---- unlock -} - -static TypeThreadQueueNode* _PopThreadData(void) -{ - TypeThreadQueueNode* p; - - pthread_mutex_lock (& _g.ThreadLock); // <---- lock - - p = _g.ThreadQueue_pHead; - if (_g.ThreadQueue_pHead) { _g.ThreadQueue_pHead = _g.ThreadQueue_pHead->pNext; } - if (p == _g.ThreadQueue_pTail) { _g.ThreadQueue_pTail = NULL; } - - pthread_mutex_unlock(& _g.ThreadLock); // <---- unlock - - return p; -} - -static bool _bEmptyThreadData(void) -{ - bool b = true; - pthread_mutex_lock (& _g.ThreadLock); // <---- lock - - if (_g.ThreadQueue_pHead) { b = false; } - - pthread_mutex_unlock(& _g.ThreadLock); // <---- unlock - return b; -} - - -static void _CleanThreadData(void) -{ - pthread_mutex_lock (& _g.ThreadLock); // <---- lock - - while (_g.ThreadQueue_pHead) - { - TypeThreadQueueNode* const p = _g.ThreadQueue_pHead; - _g.ThreadQueue_pHead = p->pNext; - free(p->pszTextUtf8); - free(p); - } - _g.ThreadQueue_pHead = NULL; - _g.ThreadQueue_pTail = NULL; - - pthread_mutex_unlock(& _g.ThreadLock); // <---- unlock -} - -static void * _Synthesize(void* NotUsed) -{ - TypeThreadQueueNode* p = _PopThreadData(); - - for ( ; p ; p=_PopThreadData()) - { - int const iVoiceInfo = p->iVoiceInfo; - char const * pszTextUtf8 = p->pszTextUtf8; - void * pUserParam = p->pUserParam; - - if (_g.pfnCallback) - { - int r = SMT_SUCCESS; - - SLOG(LOG_DEBUG, TAG_TTSP, ">>>> Thread, _Synthesize(), iVoiceInfo = %d", iVoiceInfo); - SLOG(LOG_DEBUG, TAG_TTSP, ">>>>>> pszTextUtf8 = %s", pszTextUtf8); - - if (iVoiceInfo != _g.iVoiceInfo) - { - r = _ChangeVoice(iVoiceInfo); - SLOG(LOG_DEBUG, TAG_TTSP, ">>>>>> iVoiceInfo was changed."); - } - - if (r == SMT_SUCCESS) - { - _SetSpeechSpeed(); - - SLOG(LOG_DEBUG, TAG_TTSP, ">>>>>> Set speech-speed"); - - pthread_mutex_lock (& _g.MainThreadFinalizeLock); // <---- lock - - r = _Synthesize_SamsungTTS(pszTextUtf8, pUserParam, SMT_FRAME_PERIOD ); - - pthread_mutex_unlock(& _g.MainThreadFinalizeLock); // <---- unlock - - } - SLOG(LOG_DEBUG, TAG_TTSP, ">>>Thread, _Synthesize() done"); - } - - free(p->pszTextUtf8); - free(p); - } // end of while loop - - _g.ThreadId = -1; - return (void*) 1; -} - -// -// END -// -// functions managing < Thread Queue > -// - - - - - - - - -// -// functions managing < Engine Switching > -// -// BEGIN -// - -static int _ChangeVoice(int const iVoiceInfo) -{ - if (iVoiceInfo < 0 || iVoiceInfo > VOICE_INDEX_MAX) { - SLOG(LOG_ERROR, TAG_TTSP, "[ERROR] Invalid Voice"); - return -1; - } - - int r; - - char const * pszLanguage = _pVoiceInfos[iVoiceInfo].pszLanguage; - - - _eTypeTTSMode TTSType = eTTSMode_Normal; - char Language[3] = {0,}; - char Country[3] = {0,}; - char VoiceType[2] = {0,}; - int VoiceIndex = 0; - - VoiceType[0] = 'f'; - VoiceType[1] = 0; - memcpy(Language, pszLanguage, sizeof(Language)-1); - memcpy(Country, pszLanguage+3, sizeof(Country)-1); - - int const eVoiceType = _pVoiceInfos[iVoiceInfo].eVoiceType; - - if(eVoiceType == TTSP_VOICE_TYPE_MALE) VoiceType[0] = 'm'; - - char filepath[512] = {'\0',}; - if (VOICE_INDEX_KOREAN_WOMAN == iVoiceInfo || VOICE_INDEX_USENGLISH_WOMAN == iVoiceInfo - || VOICE_INDEX_GERMAN_WOMAN == iVoiceInfo || VOICE_INDEX_SPANISH_WOMAN == iVoiceInfo - || VOICE_INDEX_FRENCH_WOMAN == iVoiceInfo || VOICE_INDEX_ITALIAN_WOMAN == iVoiceInfo) { - snprintf(filepath, 512, "%s", DATA_DIR1); - } else { - snprintf(filepath, 512, "%s%s_%s/", DATA_DIR2, pszLanguage, (TTSP_VOICE_TYPE_MALE == eVoiceType) ? "Male" : "Female"); - } - - SLOG(LOG_DEBUG, TAG_TTSP, "data path (%s)", filepath); - - if (VOICE_INDEX_KOREAN_MAN == iVoiceInfo) { - VoiceIndex = 1; - } - - if (0 == SMTCheckVoiceAvailable(TTSType, filepath, '/', Language, Country, VoiceType, VoiceIndex)) { - if (0 != SMTSetVoice(TTSType, filepath, '/', Language, Country, VoiceType, VoiceIndex)) { - SLOG(LOG_ERROR, TAG_TTSP, "[ERROR] Fail to set voice"); - return -1; - } - } else { - SLOG(LOG_ERROR, TAG_TTSP, "[ERROR] Fail to check voice available"); - return -1; - } - - _g.iVoiceInfo = iVoiceInfo; - - SMTFinalize(); - r = SMTInitialize(); - - if (r != SMT_SUCCESS) { SLOG(LOG_DEBUG, TAG_TTSP, ">>> _ChangeVoice() returns %d.", r); } - else - { - _g.iSamplingRate = SMTGetSamplingRate(); - } - - return r; -} - -static void _SetSpeechSpeed(void) -{ - SLOG(LOG_DEBUG, TAG_TTSP, ">>>> Set speech speed %d", _g.eSpeechSpeed); - switch (_g.eSpeechSpeed) - { - case 14 : SMTSetSpeechSpeed(eSMTSpeechSpeed_VeryFast); break; - case 11 : SMTSetSpeechSpeed(eSMTSpeechSpeed_Fast ); break; - case 5 : SMTSetSpeechSpeed(eSMTSpeechSpeed_Slow ); break; - case 2 : SMTSetSpeechSpeed(eSMTSpeechSpeed_VerySlow); break; - // case TTSP_SPEED_NORMAL : SMTSetSpeechSpeed(eSMTSpeechSpeed_Normal ); break; - case 8 : SMTSetSpeechSpeed(eSMTSpeechSpeed_Normal ); break; - } -} - -static void _CallBack(ttsp_result_event_e eEvent, unsigned int const nPCMs, void * pPCMs, void* pUserParam) -{ - unsigned int const n = nPCMs * sizeof(short); - - - SLOG(LOG_DEBUG, TAG_TTSP, ">>> callback, pUserParam = 0x%x", (unsigned int)(reinterpret_cast(pUserParam))); - SLOG(LOG_DEBUG, TAG_TTSP, ">>> callback, event="); - - switch (eEvent) - { - case TTSP_RESULT_EVENT_CONTINUE : - if (_g.bSentenceDone) - { - eEvent = TTSP_RESULT_EVENT_START; - _g.bSentenceDone = false; - } - break; - - case TTSP_RESULT_EVENT_FINISH : - _g.bSentenceDone = true; - break; - } - -#if 0 - if (nPCMs) - { - static int iWave = 0; - static char pszWave[100]; - - SLOG(LOG_DEBUG, TAG_TTSP, "@@@ saving wave file @@@"); - //sprintf(pszWave, "/mnt/nfs/tts/play%d.wav", iWave++); - SMTSaveWave(pszWave, (short*) pPCMs, nPCMs * 2); - } -#endif - - switch (eEvent) - { - case TTSP_RESULT_EVENT_START : SLOG(LOG_DEBUG, TAG_TTSP, "TTSPE_CBEVENT_SYNTH_START"); break; - case TTSP_RESULT_EVENT_CONTINUE: SLOG(LOG_DEBUG, TAG_TTSP, "TTSPE_CBEVENT_SYNTH_CONTINUE"); break; - case TTSP_RESULT_EVENT_FINISH : SLOG(LOG_DEBUG, TAG_TTSP, "TTSPE_CBEVENT_SYNTH_FINISH"); break; - case TTSP_RESULT_EVENT_FAIL : SLOG(LOG_DEBUG, TAG_TTSP, "TTSPE_CBEVENT_SYNTH_FAIL"); break; - default : SLOG(LOG_ERROR, TAG_TTSP, "invalid"); break; - } - - if (eEvent==TTSP_RESULT_EVENT_FINISH && ! _bEmptyThreadData()) - { - SLOG(LOG_DEBUG, TAG_TTSP, ">>> There is another input text."); - SLOG(LOG_DEBUG, TAG_TTSP, ">>> TTSPE_CBEVENT_SYNTH_FINISH was chanage into TTSPE_CBEVENT_SYNTH_CONTINUE."); - eEvent = TTSP_RESULT_EVENT_CONTINUE; - } - - SLOG(LOG_DEBUG, TAG_TTSP, ">>> data size = %d", n); - SLOG(LOG_DEBUG, TAG_TTSP, ">> >> Here we jump into the callback function."); - - int cbreturn = -1; - if(_g.pfnCallback != NULL){ - cbreturn = _g.pfnCallback(eEvent, pPCMs, n, TTSP_AUDIO_TYPE_RAW_S16, _g.iSamplingRate, pUserParam); - } - SLOG(LOG_DEBUG, TAG_TTSP, ">> >> Here we return from the callback function."); - SLOG(LOG_DEBUG, TAG_TTSP, ">> >> callback function return value = %d", cbreturn); - if (-1 == cbreturn) - { - SLOG(LOG_DEBUG, TAG_TTSP, ">>> Callback function returns TTS_CALLBACK_HALT."); - std::lock_guard lock( _g.bStopMutex ); - _g.bStop = true; - _g.bSentenceDone = true; - } -} - -static int _Synthesize_SamsungTTS(char const * const pszTextUtf8, void* pUserParam, int const FramePeriod) -{ - static short pPcmBuffer[PCM_BUFFER_SIZE] = {0,}; - - int r = SMTInputText(pszTextUtf8); - unsigned int i = 0; - - if (r != SMT_SUCCESS) - { - _CleanThreadData(); - SLOG(LOG_DEBUG, TAG_TTSP, ">>> SMTInputText() returns %d.", r); - } - - - while (r == SMT_SUCCESS) - { - r = SMTSynthesize(& pPcmBuffer[i]); - std::lock_guard lock( _g.bStopMutex ); - if (_g.bStop) - { - _CleanThreadData(); - break; - } - else - { - switch (r) - { - case SMT_SYNTHESIS_FRAME_GENERATED: - if (i + FramePeriod == PCM_BUFFER_SIZE) - { - _CallBack(TTSP_RESULT_EVENT_CONTINUE, PCM_BUFFER_SIZE, pPcmBuffer, pUserParam); - i = 0; - } - else - { - i += FramePeriod; - } - break; - - case SMT_SYNTHESIS_PAUSE_DONE : - case SMT_SYNTHESIS_SENTENCE_DONE : - r = SMT_SUCCESS; - break; - - case SMT_SYNTHESIS_ALL_DONE : - _CallBack(TTSP_RESULT_EVENT_FINISH, i, pPcmBuffer, pUserParam); - break; - - default : - _CleanThreadData(); - - SLOG(LOG_DEBUG, TAG_TTSP, ">>> SMTSynthesize() returns %d", r); - - _CallBack(TTSP_RESULT_EVENT_FAIL, i, pPcmBuffer, pUserParam); - break; - } - } - - } // end of while loop - - return r; -} - -// -// END -// -// functions managing < Engine Switching > -// diff --git a/src/_SlpSmtApis.h b/src/_SlpSmtApis.h deleted file mode 100644 index 843fb11..0000000 --- a/src/_SlpSmtApis.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Samsung TTS - * Copyright 2012-2016 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.1 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://floralicense.org/license/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SLP_SMT_APIS_H__ -#define __SLP_SMT_APIS_H__ - -#include -#include -#include "plugin_internal.h" - -int SLPSMT_Initialize (ttspe_result_cb const pfnCallBack); -int SLPSMT_Finalize (void); - -int SLPSMT_SetVoiceList (ttspe_voice_list_s *); -void SLPSMT_SetSpeechSpeed(int const eSpeechSpeed); -int SLPSMT_GetiVoiceInfo (char const *pszLanguage, int const eVoiceType); -int SLPSMT_GetiVoiceInfoEx(char const *pszLanguage, int const eVoiceType); -int SLPSMT_SynthesizeText(int const iVoiceInfo, char const * pszTextUtf8, void* const pUserParam); -int SLPSMT_StopSynthesis (void); - -char const * SLPSMT_GetPszKorean (void); -char const * SLPSMT_GetPszUSEnglish (void); -char const * SLPSMT_GetPszGerman (void); -char const * SLPSMT_GetPszSpanish (void); -char const * SLPSMT_GetPszFrench (void); -char const * SLPSMT_GetPszItalian (void); -int SLPSMT_GetWorkingThreadId (void); - - -#endif // __SLP_SMT_APIS_H__ diff --git a/src/plugin_internal.cpp b/src/plugin_internal.cpp deleted file mode 100644 index 60af19e..0000000 --- a/src/plugin_internal.cpp +++ /dev/null @@ -1,406 +0,0 @@ -/* - * Samsung TTS - * Copyright 2012-2016 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.1 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://floralicense.org/license/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include "plugin_internal.h" -#include "_SlpSmtApis.h" -#include -#include -#include -#include -#include - -#define TTSSMT_INFO_XML_PATH tzplatform_mkpath(TZ_USER_HOME, "/share/.voice/tts/engine-info/ttssmt-info.xml") - -#define TTSSMT_INFO_TAG_TTS_ENGINE "tts-engine" -#define TTSSMT_INFO_TAG_NAME "name" -#define TTSSMT_INFO_TAG_ID "id" -#define TTSSMT_INFO_TAG_SETTING "setting" -#define TTSSMT_INFO_TAG_VOICES "voices" -#define TTSSMT_INFO_TAG_VOICE "voice" -#define TTSSMT_INFO_TAG_VOICE_TYPE "type" -#define TTSSMT_INFO_TAG_VOICE_TYPE_FEMALE "female" -#define TTSSMT_INFO_TAG_VOICE_TYPE_MALE "male" -#define TTSSMT_INFO_TAG_VOICE_TYPE_CHILD "child" - -using namespace std; - -// Once eigine was initialize, that means gpDaemonAPIs and its members are not NULL. -// So we do not need to check whether this is NULL, nor its members are NULL. -static ttspd_funcs_s const * gpDaemonAPIs = NULL; - -static std::string g_current_lang; - -GSList* g_ttsinfo_list = NULL; - -static int _plugin_get_language_info(void); -static int _plugin_free_language_info(void); -static void _plugin_parse_tts_config(void); - -int plugin_Initialize(ttspe_result_cb const pfnCallBack) -{ - int r = SLPSMT_Initialize(pfnCallBack); - SLOG(LOG_DEBUG, TAG_TTSP, ">>>plugin Initialize() returns %d.", r); - _plugin_get_language_info(); - return r; -} - -int plugin_Finalize(void) -{ - int r = SLPSMT_Finalize(); - SLOG(LOG_DEBUG, TAG_TTSP, ">>>plugin Initialize() returns %d.", r); - _plugin_free_language_info(); - return r; -} - -int plugin_SynthesizeText(char const *pszLanguage, int eVoiceType_0, char const *pszTextUtf8, - int eSpeechSpeed_0, const char* credential, void* pUserParam) -{ - int iVoiceInfo = -1; - int eVoiceType = eVoiceType_0; - int eSpeechSpeed = eSpeechSpeed_0; - - int ThreadId = SLPSMT_GetWorkingThreadId(); - SLOG(LOG_DEBUG, TAG_TTSP, ">>>plugin SynthesizeText()"); - if (ThreadId != -1) - { - SLOG(LOG_DEBUG, TAG_TTSP, ">>> A new text is comming into the TTS engine, while Synthesizing."); - SLOG(LOG_DEBUG, TAG_TTSP, ">>> The text would be pushed into the thread queue."); - } - SLOG(LOG_DEBUG, TAG_TTSP, ">>> ThreadId = %d", ThreadId); - SLOG(LOG_DEBUG, TAG_TTSP, ">>> pUserParam = 0x%x", (unsigned int)(reinterpret_cast(pUserParam))); - - SLOG(LOG_DEBUG, TAG_TTSP, ">>> eSpeechSpeed = %d", eSpeechSpeed); - SLOG(LOG_DEBUG, TAG_TTSP, ">>> pszLanguage = %s", pszLanguage); - SLOG(LOG_DEBUG, TAG_TTSP, ">>> eVoiceType = %s", //eVoiceType==TTSPE_VCTYPE_DEFAULT ? "TTSPE_VCTYPE_DEFAULT" : - eVoiceType==TTSP_VOICE_TYPE_MALE ? "TTSP_VOICE_TYPE_MALE" : - eVoiceType==TTSP_VOICE_TYPE_FEMALE ? "TTSP_VOICE_TYPE_FEMALE" : - eVoiceType==TTSP_VOICE_TYPE_CHILD ? "TTSP_VOICE_TYPE_CHILD" : "" - ); - - SLPSMT_SetSpeechSpeed(eSpeechSpeed); - - // set voice - iVoiceInfo = SLPSMT_GetiVoiceInfo(pszLanguage, eVoiceType); - if (iVoiceInfo < 0) - { - SLOG(LOG_ERROR, TAG_TTSP, "iVoiceInfo < 0"); - return TTSP_ERROR_INVALID_VOICE; - } - - return SLPSMT_SynthesizeText(iVoiceInfo, pszTextUtf8, pUserParam); -} - -int plugin_StopSynthesis(void) -{ - return SLPSMT_StopSynthesis(); -} - -int plugin_ForeachVoices(ttspe_supported_voice_cb callback, void* user_data) -{ - if(NULL == callback) - return TTSP_ERROR_INVALID_PARAMETER; - - - if(!g_ttsinfo_list){ - return -1; - } - - GSList* iter; - - for (iter = g_ttsinfo_list; iter != NULL; iter = g_slist_next(iter)) { - ttspe_voice_info_s *lang_info = (ttspe_voice_info_s*)iter->data; - if (NULL == lang_info) - continue; - if (NULL == lang_info->lang) - continue; - - char* lang = strdup(lang_info->lang); - int vctype = lang_info->vctype; - - SLOG(LOG_DEBUG, TAG_TTSP, "[ %s, %d ]", lang, vctype); - - if (false == callback(lang, vctype, user_data)) - { - SLOG(LOG_ERROR, TAG_TTSP, ">> plugin_ForeachVoices(), callback fail!!"); - if (lang) - free(lang); - break; - } - - if(lang) - free(lang); - } - - return TTSP_ERROR_NONE; -} - -bool plugin_IsValidVoice(const char* language, int type) -{ - if (NULL == language) - return false; - - if(!g_ttsinfo_list){ - SLOG(LOG_ERROR, TAG_TTSP, "ttsinfo is NULL"); - return false; - } - - - GSList* iter; - - for (iter = g_ttsinfo_list; iter != NULL; iter = g_slist_next(iter)) { - ttspe_voice_info_s *lang_info = (ttspe_voice_info_s*)iter->data; - if (NULL == lang_info) - continue; - if (NULL == lang_info->lang) - continue; - - if(!strcmp(lang_info->lang, language) && type == lang_info->vctype){ - SLOG(LOG_DEBUG, TAG_TTSP, "[ %s, %d ] IS VALID", lang_info->lang, lang_info->vctype); - return true; - } - } - - SLOG(LOG_DEBUG, TAG_TTSP, "[ %s, %d ] NOT EXIST", language, type); - return false; -} - -int plugin_LoadVoice(const char* language, int type) -{ - return 0; -} - -int plugin_UnloadVoice(const char* language, int type) -{ - return 0; -} - -bool plugin_NeedAppCredential(void) -{ - return false; -} - -int plugin_SetPrivateData(const char* key, const char* data) -{ - return 0; -} - -int plugin_GetPrivateData(const char* key, char** data) -{ - if (NULL != key) { - if (!strcmp(key, "version")) { - *data = strdup("1.0"); - } - } - - return 0; -} - -void plugin_SetDaemonAPIs(ttspd_funcs_s const * pAPIs) -{ - gpDaemonAPIs = pAPIs; - - int min, normal, max; - - gpDaemonAPIs->get_speed_range(&min, &normal, &max); - - printf("[SMT] Speed range : min(%d) normal(%d) max(%d)\n", min, normal, max); - - gpDaemonAPIs->get_pitch_range(&min, &normal, &max); - - printf("[SMT] Pitch range : min(%d) normal(%d) max(%d)\n", min, normal, max); - -} -static void _plugin_parse_tts_config(void) -{ - xmlDocPtr doc = NULL; - xmlNodePtr cur = NULL; - xmlChar *key; - - SLOG(LOG_DEBUG, TAG_TTSP, "tts xml path (%s)", TTSSMT_INFO_XML_PATH); - - doc = xmlParseFile(TTSSMT_INFO_XML_PATH); - if (doc == NULL) { - SLOG(LOG_ERROR, TAG_TTSP, " Fail to parse file error : %s", TTSSMT_INFO_XML_PATH); - return ; - } - - cur = xmlDocGetRootElement(doc); - if (cur == NULL) { - SLOG(LOG_ERROR, TAG_TTSP, "Empty document"); - xmlFreeDoc(doc); - return ; - } - - if (xmlStrcmp(cur->name, (const xmlChar *) TTSSMT_INFO_TAG_TTS_ENGINE)) { - SLOG(LOG_ERROR, TAG_TTSP, "The wrong type, root node is NOT %s", TTSSMT_INFO_TAG_TTS_ENGINE); - xmlFreeDoc(doc); - return ; - } - - cur = cur->xmlChildrenNode; - if (cur == NULL) { - SLOG(LOG_ERROR, TAG_TTSP, " child NULL"); - xmlFreeDoc(doc); - return ; - } - - while (cur != NULL) { - if (0 == xmlStrcmp(cur->name, (const xmlChar *)TTSSMT_INFO_TAG_NAME)) { - key = xmlNodeGetContent(cur); - if (NULL != key) { - SLOG(LOG_DEBUG, TAG_TTSP, "%s", (char *)key); - xmlFree(key); - } else { - SLOG(LOG_ERROR, TAG_TTSP, "setting path is NULL"); - } - } else if (0 == xmlStrcmp(cur->name, (const xmlChar *)TTSSMT_INFO_TAG_ID)) { - key = xmlNodeGetContent(cur); - if (NULL != key) { - SLOG(LOG_DEBUG, TAG_TTSP, "%s", (char *)key); - xmlFree(key); - } else { - SLOG(LOG_ERROR, TAG_TTSP, "setting path is NULL"); - } - } else if (0 == xmlStrcmp(cur->name, (const xmlChar *)TTSSMT_INFO_TAG_SETTING)) { - key = xmlNodeGetContent(cur); - if (NULL != key) { - SLOG(LOG_DEBUG, TAG_TTSP, "%s", (char *)key); - xmlFree(key); - } else { - SLOG(LOG_ERROR, TAG_TTSP, "setting path is NULL"); - } - } else if (0 == xmlStrcmp(cur->name, (const xmlChar *)TTSSMT_INFO_TAG_VOICES)) { - - SLOG(LOG_DEBUG, TAG_TTSP, ""); - xmlNodePtr voice_node = NULL; - voice_node = cur->xmlChildrenNode; - - xmlChar *attr = NULL; - - while (NULL != voice_node) { - if (0 == xmlStrcmp(voice_node->name, (const xmlChar *)TTSSMT_INFO_TAG_VOICE)) { - - char current_language[16] = {0, }; - int current_voicetype = -1; - - attr = xmlGetProp(voice_node, (const xmlChar*)TTSSMT_INFO_TAG_VOICE_TYPE); - if (NULL != attr) { - if (0 == xmlStrcmp(attr, (const xmlChar *)TTSSMT_INFO_TAG_VOICE_TYPE_FEMALE)) { - key = xmlNodeGetContent(voice_node); - if (NULL != key) { - SLOG(LOG_DEBUG, TAG_TTSP, "", key); - } - - current_voicetype = TTSP_VOICE_TYPE_FEMALE; - } else if (0 == xmlStrcmp(attr, (const xmlChar *)TTSSMT_INFO_TAG_VOICE_TYPE_MALE)) { - key = xmlNodeGetContent(voice_node); - if (NULL != key) { - SLOG(LOG_DEBUG, TAG_TTSP, "", key); - } - current_voicetype = TTSP_VOICE_TYPE_MALE; - } else if (0 == xmlStrcmp(attr, (const xmlChar *)TTSSMT_INFO_TAG_VOICE_TYPE_CHILD)) { - key = xmlNodeGetContent(voice_node); - if (NULL != key) { - SLOG(LOG_DEBUG, TAG_TTSP, "", key); - } - current_voicetype = TTSP_VOICE_TYPE_CHILD; - } else { - SLOG(LOG_DEBUG, TAG_TTSP, "user defined voice type"); - // fallback - current_voicetype = TTSP_VOICE_TYPE_FEMALE; - } - - xmlFree(attr); - } else { - SLOG(LOG_DEBUG, TAG_TTSP, "<%s> has no content", TTSSMT_INFO_TAG_VOICE_TYPE); - } - - key = xmlNodeGetContent(voice_node); - if (NULL != key) { - strncpy(current_language, (char*)key, strlen((char*)key)); - xmlFree(key); - } else { - SLOG(LOG_DEBUG, TAG_TTSP, "<%s> has no content", TTSSMT_INFO_TAG_VOICE); - } - - ttspe_voice_info_s *lang_info = (ttspe_voice_info_s*)malloc(sizeof(ttspe_voice_info_s)); - if (NULL == lang_info) { - SLOG(LOG_ERROR, TAG_TTSP, "[ERROR] Fail to memory allocation"); - xmlFreeDoc(doc); - return; - } - if(!strcmp(current_language, "no-NO")){ - lang_info->lang = strdup("nb-NO"); - } else if(!strcmp(current_language, "no_NO")){ - lang_info->lang = strdup("nb_NO"); - } else { - lang_info->lang = strdup(current_language); - } - lang_info->vctype = current_voicetype; - - SLOG(LOG_DEBUG, TAG_TTSP, "Language (%s) Voicetype (%d)", lang_info->lang, lang_info->vctype); - - g_ttsinfo_list = g_slist_append(g_ttsinfo_list, lang_info); - } - - voice_node = voice_node->next; - } - - } else { - SLOG(LOG_DEBUG, TAG_TTSP, "[WARNING] unknown tag (%s)", (const char*)cur->name ); - } - - cur = cur->next; - } - - xmlFreeDoc(doc); -} - - -static int _plugin_get_language_info(void) -{ - _plugin_parse_tts_config(); - return 0; -} - -static int _plugin_free_language_info() -{ - if(!g_ttsinfo_list){ - return -1; - } - - GSList* iter; - - for (iter = g_ttsinfo_list; iter != NULL; iter = g_slist_next(iter)) { - ttspe_voice_info_s *lang_info = (ttspe_voice_info_s*)iter->data; - if(lang_info) { - if(lang_info->lang) - free(lang_info->lang); - - free(lang_info); - } - } - - g_slist_free(g_ttsinfo_list); - g_ttsinfo_list = NULL; - - return 0; -} - diff --git a/src/plugin_internal.h b/src/plugin_internal.h deleted file mode 100644 index ec82270..0000000 --- a/src/plugin_internal.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Samsung TTS - * Copyright 2012-2016 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.1 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://floralicense.org/license/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -#ifndef _PLUGIN_INTERNAL_H_ -#define _PLUGIN_INTERNAL_H_ - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define ENGINE_UUID "27F277E9-BBC4-4dca-B553-D9884A3CDAA0" -#define ENGINE_NAME "Samsung TTS" -#define ENGINE_UG_NAME "org.tizen.ttssmt-setting" - -#define VTTS_VOICE_NAME_BUF_SIZE 8 - -#define TAG_TTSP "ttsp" - -typedef char* ttspe_language; - -typedef struct { - ttspe_language lang; /**< Language */ - int vctype; /**< Voice type */ -} ttspe_voice_info_s; - -typedef struct { - ttspe_voice_info_s* voice_info; /**< Voice info array */ - int size; /**< size of array */ -} ttspe_voice_list_s; - -int plugin_Initialize(ttspe_result_cb const cb_func); - -int plugin_Finalize(void); - -int plugin_SynthesizeText(char const *pszLanguage, int eVoiceType_0, char const *pszTextUtf8, - int eSpeechSpeed_0, const char* credential, void* pUserParam); - -int plugin_StopSynthesis(void); - -int plugin_ForeachVoices(ttspe_supported_voice_cb callback, void* user_data); - -bool plugin_IsValidVoice(const char* language, int type); - -int plugin_SetDefaultSpeechSpeed(int const SpeechSpeed); - -int plugin_LoadVoice(const char* language, int type); - -int plugin_UnloadVoice(const char* language, int type); - -bool plugin_NeedAppCredential(void); - -int plugin_SetPrivateData(const char* key, const char* data); - -int plugin_GetPrivateData(const char* key, char** data); - -void plugin_SetDaemonAPIs (ttspd_funcs_s const * pAPIs); - - - -#ifdef __cplusplus -} -#endif - -#endif /* _PLUGIN_INTERNAL_H_ */ diff --git a/src/ttsp.c b/src/ttsp.c deleted file mode 100644 index 78ed812..0000000 --- a/src/ttsp.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Samsung TTS - * Copyright 2012-2016 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.1 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://floralicense.org/license/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "stdio.h" -#include "memory.h" - -#include -#include "plugin_internal.h" - -char * _psz = NULL; -char * _pszEngineUUID; -char * _pszEngineName; -char * _pszEngineUgName; - - - -int ttsp_load_engine(ttspd_funcs_s* pdfuncs, ttspe_funcs_s* pefuncs) -{ - if (! pdfuncs) - { - SLOG(LOG_ERROR, TAG_TTSP, "parameter1, pdfuncs is NULL."); - return TTSP_ERROR_INVALID_PARAMETER; - } - if (! pefuncs) - { - SLOG(LOG_ERROR, TAG_TTSP, "parameter2, pefuncs is NULL."); - return TTSP_ERROR_INVALID_PARAMETER; - } - - pefuncs->size = sizeof(ttspe_funcs_s); - pefuncs->version = 1; - - pefuncs->initialize = plugin_Initialize; - pefuncs->deinitialize = plugin_Finalize; - - pefuncs->start_synth = plugin_SynthesizeText; - pefuncs->cancel_synth = plugin_StopSynthesis; - - pefuncs->foreach_voices = plugin_ForeachVoices; - pefuncs->is_valid_voice = plugin_IsValidVoice; - - pefuncs->load_voice = plugin_LoadVoice; - pefuncs->unload_voice = plugin_UnloadVoice; - - pefuncs->need_app_credential = plugin_NeedAppCredential; - - pefuncs->set_private_data = plugin_SetPrivateData; - pefuncs->get_private_data = plugin_GetPrivateData; - - plugin_SetDaemonAPIs(pdfuncs); - - SLOG(LOG_DEBUG, TAG_TTSP, "[SMT] ttsp_load_engine() : version(%d), (6.20110527), size(%d)", pefuncs->version, pefuncs->size); - - return TTSP_ERROR_NONE; -} - -void ttsp_unload_engine(void) -{ - SLOG(LOG_DEBUG, TAG_TTSP, "[SMT] ttsp_unload_engine()"); -} - -int ttsp_get_engine_info(ttsp_engine_info_cb callback, void* user_data) -{ - - callback(ENGINE_UUID, ENGINE_NAME, ENGINE_UG_NAME, false, user_data); - - return 0; -}