aboutsummaryrefslogtreecommitdiff
path: root/backends/text-to-speech/linux/linux-text-to-speech.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/text-to-speech/linux/linux-text-to-speech.h')
-rw-r--r--backends/text-to-speech/linux/linux-text-to-speech.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/backends/text-to-speech/linux/linux-text-to-speech.h b/backends/text-to-speech/linux/linux-text-to-speech.h
index 30fa9b878c..23c35c33f6 100644
--- a/backends/text-to-speech/linux/linux-text-to-speech.h
+++ b/backends/text-to-speech/linux/linux-text-to-speech.h
@@ -29,6 +29,7 @@
#include "common/text-to-speech.h"
#include "common/str.h"
+#include "common/list.h"
class LinuxTextToSpeechManager : public Common::TextToSpeechManager {
public:
@@ -39,6 +40,14 @@ public:
BROKEN
};
+ enum SpeechEvent {
+ SPEECH_ENDED,
+ SPEECH_PAUSED,
+ SPEECH_CANCELED,
+ SPEECH_RESUMED,
+ SPEECH_BEGUN
+ };
+
LinuxTextToSpeechManager();
virtual ~LinuxTextToSpeechManager();
@@ -62,7 +71,7 @@ public:
virtual void setLanguage(Common::String language);
- void updateState(SpeechState state);
+ void updateState(SpeechEvent event);
virtual void freeVoiceData(void *data);
@@ -70,9 +79,12 @@ private:
void init();
virtual void updateVoices();
void createVoice(int typeNumber, Common::TTSVoice::Gender, Common::TTSVoice::Age, char *description);
- SpeechState _speechState;
Common::String strToUtf8(Common::String str, Common::String charset);
+ bool spdSay(const char *str);
+
+ SpeechState _speechState;
Common::String _lastSaid;
+ Common::List<Common::String> _speechQueue;
};
#endif