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.h31
1 files changed, 31 insertions, 0 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 ab9b2b6fe2..b0f71d33b6 100644
--- a/backends/text-to-speech/linux/linux-text-to-speech.h
+++ b/backends/text-to-speech/linux/linux-text-to-speech.h
@@ -28,11 +28,42 @@
#if defined(USE_LINUX_TTS)
#include "common/text-to-speech.h"
+#include "common/str.h"
class LinuxTextToSpeechManager : public Common::TextToSpeechManager {
public:
+ enum SpeechState {
+ READY,
+ PAUSED,
+ SPEAKING
+ };
+
LinuxTextToSpeechManager();
virtual ~LinuxTextToSpeechManager();
+
+ virtual bool say(Common::String str);
+
+ virtual bool stop();
+ virtual bool pause();
+ virtual bool resume();
+
+ virtual bool isSpeaking();
+
+ virtual void setVoice(Common::TTSVoice *voice);
+
+ virtual void setRate(int rate);
+
+ virtual void setPitch(int pitch);
+
+ virtual void setVolume(int volume);
+
+ virtual void setLanguage(Common::String language);
+
+ void updateState(SpeechState state);
+
+private:
+ virtual void updateVoices();
+ SpeechState _speechState;
};
#endif