TTS: Move popState to the base class
This commit is contained in:
parent
d31ffb676a
commit
7c78912931
6 changed files with 20 additions and 40 deletions
|
@ -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) {
|
void LinuxTextToSpeechManager::freeVoiceData(void *data) {
|
||||||
free(data);
|
free(data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ public:
|
||||||
|
|
||||||
virtual void setLanguage(Common::String language);
|
virtual void setLanguage(Common::String language);
|
||||||
|
|
||||||
virtual bool popState();
|
bool popState();
|
||||||
|
|
||||||
void updateState(SpeechState state);
|
void updateState(SpeechState state);
|
||||||
|
|
||||||
|
|
|
@ -347,27 +347,6 @@ void WindowsTextToSpeechManager::updateVoices() {
|
||||||
_speechState = READY;
|
_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) {
|
void WindowsTextToSpeechManager::freeVoiceData(void *data) {
|
||||||
ISpObjectToken *voiceToken = (ISpObjectToken *) data;
|
ISpObjectToken *voiceToken = (ISpObjectToken *) data;
|
||||||
voiceToken->Release();
|
voiceToken->Release();
|
||||||
|
|
|
@ -64,7 +64,7 @@ public:
|
||||||
|
|
||||||
virtual void setLanguage(Common::String language);
|
virtual void setLanguage(Common::String language);
|
||||||
|
|
||||||
virtual bool popState();
|
bool popState();
|
||||||
|
|
||||||
virtual void freeVoiceData(void *data);
|
virtual void freeVoiceData(void *data);
|
||||||
|
|
||||||
|
|
|
@ -109,5 +109,22 @@ void TextToSpeechManager::pushState() {
|
||||||
updateVoices();
|
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
|
#endif
|
||||||
|
|
|
@ -259,7 +259,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Pops the TTS state
|
* Pops the TTS state
|
||||||
*/
|
*/
|
||||||
virtual bool popState() { return true; }
|
bool popState();
|
||||||
|
|
||||||
virtual void freeVoiceData(void *data) {}
|
virtual void freeVoiceData(void *data) {}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue