[tizen_2.1] remove unuse lang and fix the language order
authorsckim <sungchan81.kim@samsung.com>
Sat, 6 Apr 2013 04:16:49 +0000 (13:16 +0900)
committersckim <sungchan81.kim@samsung.com>
Sat, 6 Apr 2013 04:16:49 +0000 (13:16 +0900)
Change-Id: I3d32d8870906ef835efc4ea951a75db1ff9455a3

lib/arm/libsmt.so
lib/i386/libsmt.so
packaging/libttssmt.spec
src/SMTApis.h
src/_SlpSmtApis.cpp
src/_SlpSmtApis.h
src/plugin_internal.cpp

index 20acfc8..87a4d5d 100755 (executable)
Binary files a/lib/arm/libsmt.so and b/lib/arm/libsmt.so differ
index e98c06b..230a716 100755 (executable)
Binary files a/lib/i386/libsmt.so and b/lib/i386/libsmt.so differ
index 2228d01..70401d2 100755 (executable)
@@ -6,7 +6,7 @@
 
 Name:       libttssmt
 Summary:    Text To Speech smt plugin shared library
-Version:    0.0.29
+Version:    0.0.30
 Release:    1
 Group:      TO_BE/FILLED_IN
 License:    TO_BE/FILLED_IN
index b5406c1..0e4d1b7 100755 (executable)
@@ -23,6 +23,7 @@
 extern "C" {\r
 #endif\r
 \r
+#define UINT unsigned int\r
 \r
 typedef enum _eTypeLanguage\r
 {\r
@@ -72,14 +73,15 @@ typedef enum _eTypeLanguage
 #define SMT_SYNTHESIS_SENTENCE_DONE    2\r
 #define SMT_SYNTHESIS_PAUSE_DONE       3\r
 \r
-int SMTInitialize(void);\r
-int SMTFinalize(void);\r
-int SMTSet_Language(eTypeLanguage eLanguage, int VoiceType, int ModelFileLocation);\r
-int SMTInputText(char const * const pszText_UTF8);\r
-int SMTSynthesize(short * const pPcmBuffer);\r
-\r
-int  SMTGetFramePeriod (void);\r
-\r
+typedef enum _eTypeTTSMode\r
+{\r
+  eTTSMode_Normal,\r
+  eTTSMode_Dictionary,\r
+  \r
+  ///////////////////////////////////////////\r
+  \r
+  eTTSMode_INVALID,\r
+} eTypeTTSMode;\r
 \r
 typedef enum\r
 {\r
@@ -90,6 +92,18 @@ typedef enum
   eSMTSpeechSpeed_VeryFast,\r
 } etypeSpeechSpeed;\r
 \r
+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);\r
+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);\r
+\r
+\r
+int SMTInitialize(void);\r
+int SMTFinalize(void);\r
+int SMTSet_Language(eTypeLanguage eLanguage, int VoiceType, int ModelFileLocation);\r
+int SMTInputText(char const * const pszText_UTF8);\r
+int SMTSynthesize(short * const pPcmBuffer);\r
+\r
+int  SMTGetFramePeriod (void);\r
+\r
 void SMTSetSpeechSpeed(etypeSpeechSpeed const speed);\r
 \r
 int SMTSaveWave(char* pszFileName, short* pOutData, int const nDataSize);\r
index 567a2ae..676d89d 100755 (executable)
@@ -61,10 +61,6 @@ struct __TypeVoiceInfo
 \r
 static char const _pszKorean              [] = "ko_KR";\r
 static char const _pszUSEnglish           [] = "en_US";\r
-static char const _pszChinese             [] = "zh_CN";\r
-\r
-\r
-static char const _pszUKEnglish           [] = "en_GB";\r
 static char const _pszGerman              [] = "de_DE";\r
 static char const _pszSpanish             [] = "es_ES";\r
 static char const _pszFrench              [] = "fr_FR";\r
@@ -72,8 +68,6 @@ static char const _pszItalian             [] = "it_IT";
 \r
 static unsigned int const _sszKorean                 = sizeof(_pszKorean);\r
 static unsigned int const _sszUSEnglish              = sizeof(_pszUSEnglish);\r
-static unsigned int const _sszChinese                = sizeof(_pszChinese);\r
-static unsigned int const _sszUKEnglish              = sizeof(_pszUKEnglish);\r
 static unsigned int const _sszGerman                 = sizeof(_pszGerman);\r
 static unsigned int const _sszSpanish                = sizeof(_pszSpanish);\r
 static unsigned int const _sszFrench                 = sizeof(_pszFrench);\r
@@ -84,9 +78,7 @@ static const _TypeVoiceInfo _pVoiceInfos[] =
 {\r
   { _pszKorean              , _sszKorean              , TTSP_VOICE_TYPE_FEMALE },\r
   { _pszUSEnglish           , _sszUSEnglish           , TTSP_VOICE_TYPE_FEMALE },\r
-  { _pszChinese             , _sszChinese             , TTSP_VOICE_TYPE_FEMALE },\r
 \r
-  { _pszUKEnglish           , _sszUKEnglish           , TTSP_VOICE_TYPE_FEMALE },\r
   { _pszGerman              , _sszGerman              , TTSP_VOICE_TYPE_FEMALE },\r
   { _pszSpanish             , _sszSpanish             , TTSP_VOICE_TYPE_FEMALE },\r
   { _pszFrench              , _sszFrench              , TTSP_VOICE_TYPE_FEMALE },\r
@@ -98,12 +90,10 @@ static const _TypeVoiceInfo _pVoiceInfos[] =
 // index of VoiceInfos\r
 #define VOICE_INDEX_KOREAN_WOMAN         0\r
 #define VOICE_INDEX_USENGLISH_WOMAN       1\r
-#define VOICE_INDEX_CHINESE_WOMAN          2\r
-#define VOICE_INDEX_UKENGLISH_WOMAN        3\r
-#define VOICE_INDEX_GERMAN_WOMAN           4\r
-#define VOICE_INDEX_SPANISH_WOMAN          5\r
-#define VOICE_INDEX_FRENCH_WOMAN           6\r
-#define VOICE_INDEX_ITALIAN_WOMAN          7\r
+#define VOICE_INDEX_GERMAN_WOMAN           2\r
+#define VOICE_INDEX_SPANISH_WOMAN          3\r
+#define VOICE_INDEX_FRENCH_WOMAN           4\r
+#define VOICE_INDEX_ITALIAN_WOMAN          5\r
 \r
 \r
 \r
@@ -167,8 +157,8 @@ static int _Synthesize_SamsungTTS(char const * const pszTextUtf8, void* pUserPar
 \r
 char const * SLPSMT_GetPszKorean              (void) { return _pszKorean              ; }\r
 char const * SLPSMT_GetPszUSEnglish           (void) { return _pszUSEnglish           ; }\r
-char const * SLPSMT_GetPszChinese             (void) { return _pszChinese             ; }\r
-char const * SLPSMT_GetPszUKEnglish           (void) { return _pszUKEnglish           ; }\r
+\r
+\r
 char const * SLPSMT_GetPszGerman              (void) { return _pszGerman              ; }\r
 char const * SLPSMT_GetPszSpanish             (void) { return _pszSpanish             ; }\r
 char const * SLPSMT_GetPszFrench              (void) { return _pszFrench              ; }\r
@@ -220,6 +210,38 @@ int SLPSMT_SynthesizeText(int const iVoiceInfo, char const * pszTextUtf8, void *
 \r
 \r
 ttspe_voice_info_s * _gpVoiceInfos  = NULL;\r
+#define DATA_DIR1  "/usr/share/voice/tts/smt_vdata/"\r
+\r
+\r
+int SLPSMT_GetiVoiceInfoEx(char* const pszLanguage, ttsp_voice_type_e const eVoiceType)\r
+{\r
+       int i;\r
+       for (i=0 ; i<_nVoiceInfos ; i++)\r
+               {\r
+               if ( eVoiceType == _pVoiceInfos[i].eVoiceType  && ! strcmp(pszLanguage ,  _pVoiceInfos[i].pszLanguage)   )\r
+               {\r
+                       int iResult = -1;\r
+                       _eTypeTTSMode TTSType =   eTTSMode_Normal;\r
+                       char Language[3] = {0,};\r
+                       char Contry[3] = {0,};\r
+                       char VoiceType[2] = {0,};\r
+\r
+                       VoiceType[0] = 'f';\r
+                       VoiceType[1] = 0;\r
+                       memcpy( Language , pszLanguage , sizeof(Language)-1);\r
+                       memcpy( Contry , pszLanguage+3 , sizeof(Contry)-1);\r
+\r
+                       if( eVoiceType == TTSP_VOICE_TYPE_MALE ) VoiceType[0] = 'm';\r
+\r
+                       iResult = SMTCheckVoiceAvailable( (_eTypeTTSMode)TTSType , DATA_DIR1 , '/' , Language , Contry , VoiceType , 1 );\r
+\r
+                       printf("%d)####### iResult [%d]\n",i , iResult);\r
+\r
+                       if( iResult == 0 ) return i ;\r
+               }\r
+       }\r
+       return -1;\r
+}\r
 \r
 int SLPSMT_SetVoiceList(ttspe_voice_list_s * p)\r
 {\r
@@ -467,9 +489,6 @@ static int _ChangeVoice(int const iVoiceInfo)
   {\r
     case VOICE_INDEX_KOREAN_WOMAN              : SMTSet_Language(eKOREAN              ,  1, 0);                break;\r
     case VOICE_INDEX_USENGLISH_WOMAN           : SMTSet_Language(eUSENGLISH           ,  1, 0);                        break;\r
-    case VOICE_INDEX_CHINESE_WOMAN             : SMTSet_Language(eCHINESE             ,  1, 0);                      break;\r
-\r
-    case VOICE_INDEX_UKENGLISH_WOMAN           : SMTSet_Language(eGBENGLISH          ,  1, 0);                 break;\r
     case VOICE_INDEX_GERMAN_WOMAN              : SMTSet_Language(eGERMAN              ,  1, 0);                        break;\r
     case VOICE_INDEX_SPANISH_WOMAN             : SMTSet_Language(eSPANISH             ,  1, 0);                        break;\r
     case VOICE_INDEX_FRENCH_WOMAN              : SMTSet_Language(eFRENCH              ,  1, 0);                        break;\r
index d2f4042..d34e4e0 100755 (executable)
@@ -27,13 +27,12 @@ int  SLPSMT_Finalize      (void);
 int  SLPSMT_SetVoiceList  (ttspe_voice_list_s *);\r
 void SLPSMT_SetSpeechSpeed(ttsp_speed_e const eSpeechSpeed);\r
 int  SLPSMT_GetiVoiceInfo (char* const pszLanguage, ttsp_voice_type_e const eVoiceType);\r
+int  SLPSMT_GetiVoiceInfoEx(char* const pszLanguage, ttsp_voice_type_e const eVoiceType);\r
 int  SLPSMT_SynthesizeText(int const iVoiceInfo, char const * pszTextUtf8, void* const pUserParam);\r
 int  SLPSMT_StopSynthesis (void);\r
 \r
 char const * SLPSMT_GetPszKorean              (void);\r
 char const * SLPSMT_GetPszUSEnglish           (void);\r
-char const * SLPSMT_GetPszChinese             (void);\r
-char const * SLPSMT_GetPszUKEnglish           (void);\r
 char const * SLPSMT_GetPszGerman              (void);\r
 char const * SLPSMT_GetPszSpanish             (void);\r
 char const * SLPSMT_GetPszFrench              (void);\r
index 4171774..28f593c 100755 (executable)
@@ -96,7 +96,7 @@ int plugin_SynthesizeText(char* const   pszLanguage, ttsp_voice_type_e eVoiceTyp
        );\r
 \r
        // set voice\r
-       iVoiceInfo = SLPSMT_GetiVoiceInfo(pszLanguage, eVoiceType);\r
+       iVoiceInfo = SLPSMT_GetiVoiceInfoEx(pszLanguage, eVoiceType);\r
        if (iVoiceInfo < 0)\r
        {\r
                printf("iVoiceInfo < 0\n");\r
@@ -155,7 +155,7 @@ bool plugin_IsValidVoice(const char* language, ttsp_voice_type_e type)
        if (NULL == language)\r
                return TTSP_ERROR_INVALID_PARAMETER;\r
 \r
-       int iVoiceInfo = SLPSMT_GetiVoiceInfo((char* )language, type);\r
+       int iVoiceInfo = SLPSMT_GetiVoiceInfoEx((char* )language, type);\r
 \r
        if (iVoiceInfo < 0)\r
        {\r