public static bool LoadOnlineVoicesFromDB() { var voices = new List <string>(); if (OnlineVoicesTableMgr.LoadOnlineVoicesFromDB(voices)) { LanguageCodes = new List <string>(); foreach (var voice in voices) { int index = voice.IndexOf('-', voice.IndexOf('-') + 1); string languageCode = voice.Substring(0, index); if (!LanguageCodes.Contains(languageCode)) { LanguageCodes.Add(languageCode); } } if (voices.Count > 0) { Voices = voices; OnlineVoicesLoaded = true; EventSystem.Publish <OnlineVoicesLoaded>(new OnlineVoicesLoaded { }); return(true); } } return(false); }
private static void CreateDatabaseTables() { string filename = DBAdmin.CreateDBFile(); if (EventLogTableMgr.CreateEventLogDBTable()) { Logger.AddLogEntry(LogCategory.INFO, "Created Database file \'" + filename + "\'."); } SettingsTableMgr.CreateSettingsDBTable(); AudioClipsTableMgr.CreateAudioClipsDBTable(); TimeTriggerClipsTableMgr.CreateTimeTriggerClipsDBTable(); RulesetsTableMgr.CreateRulesetsDBTable(); RulesTableMgr.CreateRulesetRulesDBTable(); SessionsTableMgr.CreateSessionsDBTable(); SessionClipsTableMgr.CreateSessionsDBTable(); OnlineVoicesTableMgr.CreateOnlineVoicesDBTable(); }
public static void LoadOnlineVoices() { string credentialsFile = GetCredentialsFile(); if (!String.IsNullOrEmpty(credentialsFile)) { try { GoogleCredential credentials = GoogleCredential.FromFile(credentialsFile); using (var textToSpeechClient = TextToSpeechClient.Create(credentials)) { Voices = new List <string>(); LanguageCodes = new List <string>(); var voices = textToSpeechClient.ListVoices(); foreach (var voice in voices) { Voices.Add(String.Format("{0} ({1})", voice.Name, voice.SsmlGender.ToLower())); int index = voice.Name.IndexOf('-', voice.Name.IndexOf('-') + 1); string languageCode = voice.Name.Substring(0, index); if (!LanguageCodes.Contains(languageCode)) { LanguageCodes.Add(languageCode); } } } } catch (Exception e) { Logger.AddLogEntry(LogCategory.ERROR, String.Format("TextToSpeechMgr: Error reading Google credentials file: {0} ", e.ToString())); var messageWin = new MessageWin("TextToSpeechMgr", String.Format("Error reading Google credentials file - voice list not generated.")); messageWin.Show(); } if (Voices != null) { OnlineVoicesTableMgr.SaveOnlineVoicesToDB(Voices); } } }