diff options
Diffstat (limited to 'backends')
4 files changed, 8 insertions, 21 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 3914b0f347..8c797d7cb2 100644 --- a/backends/text-to-speech/linux/linux-text-to-speech.cpp +++ b/backends/text-to-speech/linux/linux-text-to-speech.cpp @@ -182,7 +182,6 @@ bool LinuxTextToSpeechManager::say(Common::String str, Common::String charset) {  		return true;  	}  	return false; -  }  bool LinuxTextToSpeechManager::stop() { @@ -248,10 +247,6 @@ void LinuxTextToSpeechManager::setVolume(unsigned volume) {  	_ttsState->_volume = volume;  } -int LinuxTextToSpeechManager::getVolume() { -	return (_ttsState->_volume - 50) * 2; -} -  void LinuxTextToSpeechManager::setLanguage(Common::String language) {  	if (_speechState == BROKEN)  		return; @@ -278,6 +273,7 @@ void LinuxTextToSpeechManager::updateVoices() {  	   it depends on the user to map them to the right voices in speech-dispatcher  	   configuration  	*/ +	_ttsState->_availableVoices.clear();  	char **voiceInfo = spd_list_voices(_connection); @@ -294,7 +290,6 @@ void LinuxTextToSpeechManager::updateVoices() {  		free(voiceInfo[i]);  	free(voiceInfo); -  }  void LinuxTextToSpeechManager::freeVoiceData(void *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 a6994f7f40..fe7eab8ed5 100644 --- a/backends/text-to-speech/linux/linux-text-to-speech.h +++ b/backends/text-to-speech/linux/linux-text-to-speech.h @@ -59,7 +59,6 @@ public:  	virtual void setPitch(int pitch);  	virtual void setVolume(unsigned volume); -	virtual int getVolume();  	virtual void setLanguage(Common::String language); 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 d102300028..f5c88ff12d 100644 --- a/backends/text-to-speech/windows/windows-text-to-speech.cpp +++ b/backends/text-to-speech/windows/windows-text-to-speech.cpp @@ -76,7 +76,13 @@ void WindowsTextToSpeechManager::init() {  		warning("Could not initialize TTS voice");  		return;  	} + +#ifdef USE_TRANSLATION +	setLanguage(TransMan.getCurrentLanguage()); +#else  	setLanguage("en"); +#endif +  	_voice->SetOutput(_audio, FALSE);  	if(_ttsState->_availableVoices.size() > 0) @@ -86,7 +92,6 @@ void WindowsTextToSpeechManager::init() {  }  WindowsTextToSpeechManager::~WindowsTextToSpeechManager() { -	freeVoices();  	if (_voice)  		_voice->Release();  	::CoUninitialize(); @@ -207,16 +212,6 @@ void WindowsTextToSpeechManager::setVolume(unsigned volume) {  	_ttsState->_volume = volume;  } -int WindowsTextToSpeechManager::getVolume() { -	return _ttsState->_volume; -} - -void WindowsTextToSpeechManager::freeVoices() { -	_ttsState->_availableVoices.clear(); -	// The voice data gets freed automaticly, when the reference counting inside TTSVoice -	// reaches 0, so there is no point in trying to free it here -} -  void WindowsTextToSpeechManager::setLanguage(Common::String language) {  	if (language == "C")  		language = "en"; @@ -322,7 +317,7 @@ Common::String WindowsTextToSpeechManager::lcidToLocale(Common::String lcid) {  }  void WindowsTextToSpeechManager::updateVoices() { -	freeVoices(); +	_ttsState->_availableVoices.clear();  	HRESULT hr = S_OK;  	ISpObjectToken *cpVoiceToken = nullptr;  	IEnumSpObjectTokens *cpEnum = nullptr; 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 87e4ceb218..f60a59de71 100644 --- a/backends/text-to-speech/windows/windows-text-to-speech.h +++ b/backends/text-to-speech/windows/windows-text-to-speech.h @@ -60,7 +60,6 @@ public:  	virtual void setPitch(int pitch);  	virtual void setVolume(unsigned volume); -	virtual int getVolume();  	virtual void setLanguage(Common::String language); @@ -70,7 +69,6 @@ private:  	void init();  	virtual void updateVoices();  	void createVoice(void *cpVoiceToken); -	void freeVoices();  	Common::String lcidToLocale(Common::String lcid);  	SpeechState _speechState;  }; | 
