summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/tts_linux.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linuxbsd/tts_linux.h')
-rw-r--r--platform/linuxbsd/tts_linux.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/platform/linuxbsd/tts_linux.h b/platform/linuxbsd/tts_linux.h
index 4134f8fa2f..ec68219689 100644
--- a/platform/linuxbsd/tts_linux.h
+++ b/platform/linuxbsd/tts_linux.h
@@ -34,8 +34,8 @@
#include "core/os/thread.h"
#include "core/os/thread_safe.h"
#include "core/string/ustring.h"
+#include "core/templates/hash_map.h"
#include "core/templates/list.h"
-#include "core/templates/rb_map.h"
#include "core/variant/array.h"
#include "servers/display_server.h"
@@ -55,6 +55,13 @@ class TTS_Linux : public Object {
int last_msg_id = -1;
HashMap<int, int> ids;
+ struct VoiceInfo {
+ String language;
+ String variant;
+ };
+ bool voices_loaded = false;
+ HashMap<String, VoiceInfo> voices;
+
Thread init_thread;
static void speech_init_thread_func(void *p_userdata);
@@ -64,6 +71,7 @@ class TTS_Linux : public Object {
static TTS_Linux *singleton;
protected:
+ void _load_voices();
void _speech_event(size_t p_msg_id, size_t p_client_id, int p_type);
void _speech_index_mark(size_t p_msg_id, size_t p_client_id, int p_type, const String &p_index_mark);