aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/text-to-speech/linux/linux-text-to-speech.cpp16
-rw-r--r--backends/text-to-speech/linux/linux-text-to-speech.h2
-rw-r--r--backends/text-to-speech/windows/windows-text-to-speech.cpp21
-rw-r--r--backends/text-to-speech/windows/windows-text-to-speech.h2
-rw-r--r--common/text-to-speech.cpp17
-rw-r--r--common/text-to-speech.h2
6 files changed, 20 insertions, 40 deletions
diff --git a/backends/text-to-speech/linux/linux-text-to-speech.cpp b/backends/text-to-speech/linux/linux-text-to-speech.cpp
index 4241b76c7b..85faec1c1d 100644
--- a/backends/text-to-speech/linux/linux-text-to-speech.cpp
+++ b/backends/text-to-speech/linux/linux-text-to-speech.cpp
@@ -258,22 +258,6 @@ void LinuxTextToSpeechManager::updateVoices() {
}
-bool LinuxTextToSpeechManager::popState() {
- if (_ttsState->_next == nullptr)
- return true;
-
- Common::TTSState *oldState = _ttsState;
- _ttsState = _ttsState->_next;
-
- delete oldState;
-
- setLanguage(_ttsState->_language);
- setPitch(_ttsState->_pitch);
- setVolume(_ttsState->_volume);
- setRate(_ttsState->_rate);
- return false;
-}
-
void LinuxTextToSpeechManager::freeVoiceData(void *data) {
free(data);
}
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 1bb3ad5ce2..feb595095e 100644
--- a/backends/text-to-speech/linux/linux-text-to-speech.h
+++ b/backends/text-to-speech/linux/linux-text-to-speech.h
@@ -63,7 +63,7 @@ public:
virtual void setLanguage(Common::String language);
- virtual bool popState();
+ bool popState();
void updateState(SpeechState state);
diff --git a/backends/text-to-speech/windows/windows-text-to-speech.cpp b/backends/text-to-speech/windows/windows-text-to-speech.cpp
index c646b9b3b3..506220a9c7 100644
--- a/backends/text-to-speech/windows/windows-text-to-speech.cpp
+++ b/backends/text-to-speech/windows/windows-text-to-speech.cpp
@@ -347,27 +347,6 @@ void WindowsTextToSpeechManager::updateVoices() {
_speechState = READY;
}
-bool WindowsTextToSpeechManager::popState() {
- if (_ttsState->_next == nullptr)
- return true;
-
- for (Common::TTSVoice *i = _ttsState->_availaibleVoices.begin(); i < _ttsState->_availaibleVoices.end(); i++) {
- ISpObjectToken *voiceToken = (ISpObjectToken *) i->getData();
- voiceToken->Release();
- }
-
- Common::TTSState *oldState = _ttsState;
- _ttsState = _ttsState->_next;
-
- delete oldState;
-
- setLanguage(_ttsState->_language);
- setPitch(_ttsState->_pitch);
- setVolume(_ttsState->_volume);
- setRate(_ttsState->_rate);
- setVoice(_ttsState->_activeVoice);
- return false;
-}
void WindowsTextToSpeechManager::freeVoiceData(void *data) {
ISpObjectToken *voiceToken = (ISpObjectToken *) data;
voiceToken->Release();
diff --git a/backends/text-to-speech/windows/windows-text-to-speech.h b/backends/text-to-speech/windows/windows-text-to-speech.h
index 848ae854eb..6498c9cc2c 100644
--- a/backends/text-to-speech/windows/windows-text-to-speech.h
+++ b/backends/text-to-speech/windows/windows-text-to-speech.h
@@ -64,7 +64,7 @@ public:
virtual void setLanguage(Common::String language);
- virtual bool popState();
+ bool popState();
virtual void freeVoiceData(void *data);
diff --git a/common/text-to-speech.cpp b/common/text-to-speech.cpp
index ce9f4a9076..9ff8d50641 100644
--- a/common/text-to-speech.cpp
+++ b/common/text-to-speech.cpp
@@ -109,5 +109,22 @@ void TextToSpeechManager::pushState() {
updateVoices();
}
+bool TextToSpeechManager::popState() {
+ if (_ttsState->_next == nullptr)
+ return true;
+
+ Common::TTSState *oldState = _ttsState;
+ _ttsState = _ttsState->_next;
+
+ delete oldState;
+
+ setLanguage(_ttsState->_language);
+ setPitch(_ttsState->_pitch);
+ setVolume(_ttsState->_volume);
+ setRate(_ttsState->_rate);
+ setVoice(_ttsState->_activeVoice);
+ return false;
+}
+
}
#endif
diff --git a/common/text-to-speech.h b/common/text-to-speech.h
index 589b99834b..d52e1de3d2 100644
--- a/common/text-to-speech.h
+++ b/common/text-to-speech.h
@@ -259,7 +259,7 @@ public:
/**
* Pops the TTS state
*/
- virtual bool popState() { return true; }
+ bool popState();
virtual void freeVoiceData(void *data) {}