Commit graph

26 commits

Author SHA1 Message Date
Jaromir Wysoglad
7ec4f03a08 TTS: Make state switching faster on Linux 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
6703f88f7f TTS: Implement speech queueing on Linux and Win 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
c7dbf192ef TTS: Remove unneeded code
Remove debuging outputs
Remove commented iconv implementation of text conversion to UTF-8
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
58065ceacd TTS: Refactoring
* Delete multiple empty rows
 * Make getVolume non-virtual and leave just the implementation
    in base class
 * Resolve warning about signed / unsigned comparison in
    gui-manager
 * Clear availableVoices when updating voices on linux
 * By default set language to transMan language on windows
    (if the transMan is available)
 * Remove freeVoices method from Windows ttsMan, it isn't needed
    anymore
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
134d955006 TTS: Add iconv implementation of strToUtf8
This might be useful in the future, because SDL cannot convert
from some important encodings (for example CP850)
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
3027acc12e TTS: Minor refactorisations
- Add comment to tts initialization on Windows
 - Correctly free the voicesInfo in linux ttsMan
 - Remove popState method from linux-text-to-speech.h and
	windows-text-to-speech.h
 - Add tts to help in configure
 - Refactor language setting in gui-manager.cpp
	It counted with english being the default language in
	ttsMan constructors, which isn't true anymore.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
b5d5576f90 TTS: Add check to getVoice, fix typo.
Check if _availableVoices isn't empty.
Replace availaible with available
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
788b15652d TTS: Change String == "" to String.empty() 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
7c78912931 TTS: Move popState to the base class 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
5c1f562452 TTS: Implement conversion to UTF-8 in say on linux 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
5d9f03e71d TTS: Add reference counting to TTSVoice
Also refactor TTSVoice destruction to use this reference counting.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
ce64528129 TTS: Make sure that TTS lang matches transMan lang 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
33f8aadfeb TTS: Add age to TTSVoice 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
318c6d7ec6 TTS: Finish implementing the Windows TTS manager 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
5ee30a1b73 TTS: Convert strings to UTF-8
Conversion happens only for languages, that might needed (not
for english)
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
e801e83f43 TTS: Restart spd connection on speak error. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
a9eaf46c42 TTS: Add warning if the TTS could not be inited 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
7d72fc0d60 TTS: Restrict TTS on linux to only english
Unfortunatedly the encoding used by ScummVM breaks the
speech-dispatcher, so after trying to say non-ascii character
the connection has to be restarted. So for now I am restricting
the GUI TTS to english only.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
8bd7e39265 TTS: Add voice selection to options 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
b5cebcbeae TTS: Add text to speech to the GUI. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
fa6faca76a TTS: Add TTS checkbox to Options
Probably works only in the builtin theme right now.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
62a011e28a TTS: Add ttsStatus push and pop functions 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
7f895d21df TTS: Add checks for correct TTS engine state. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
8c44b03231 TTS: Resolve segfault when exiting scummvm 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
39e74b027e TTS: Add part of linux TTS 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
f78fc85f3a TTS: Create a TTS skeleton 2019-09-01 22:47:55 +03:00