aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-01TTS: Improve documentationJaromir Wysoglad
2019-09-01TTS: Restart SPD if resume() fails.Jaromir Wysoglad
2019-09-01TTS: Fix INTERRUPT_NO_REPEAT on WindowsJaromir Wysoglad
2019-09-01TTS: Implement *_NO_REPEAT actions and Fix state synchronization issues on macOSThierry Crozat
The NSSpeechSynthesizer is asynchronous and does not immediately start, pause, or stop the speech. As a result querrying the state of the NSSpeechSynthesizer does not alwats return the expected result (for example isSpeaking may not yet been true just after we requested starting to speak). So instead the TextToSpeechManager on macOS keeps track of the state itself.
2019-09-01TESTBED: Make sure to process events while waiting for speech to finishThierry Crozat
Same implementations of TextToSpeechManager may require system events to be processed for the state synchronisation to work properly. This commit also fixes a few typos or inconsistencies in some texts.
2019-09-01TESTBED: Move the TTS tests after the critical componentsThierry Crozat
2019-09-01TTS: Implement our own queuing for linuxJaromir Wysoglad
It seems like, that at least some versions of speech-dispatcher aren't able to successfuly pause and resume. For me, when trying to pause, it still finishes the speech just being said instead of pausing it and then it puts it at the end of the speech queue with some speech-dispatcher internal commands added to it, which are also hearable. There is no way to find out where the speech ended when calling pause, so it is just stopped and when resume is called it is read from it's start again.
2019-09-01TTS: Use QUEUE_NO_REPEAT action for tooltipsJaromir Wysoglad
2019-09-01TESTBED: Add tests for TTS *_NO_REPEAT actionsJaromir Wysoglad
2019-09-01TESTBED: Rewrite parts of TTS tests.Jaromir Wysoglad
As suggested by Criezy on github
2019-09-01TTS: Add *_NO_REPEAT actionsJaromir Wysoglad
2019-09-01TESTBED: Add state queries to TTS tests.Jaromir Wysoglad
2019-09-01TTS: Reimplement isSpeaking on Windows.Jaromir Wysoglad
2019-09-01TTS: Fix pause() and resume() on linuxJaromir Wysoglad
2019-09-01TESTBET: Add TTS testsJaromir Wysoglad
2019-09-01TTS: Make state switching faster on LinuxJaromir Wysoglad
2019-09-01TTS: Implement speech queueing on macOSThierry Crozat
2019-09-01TTS: Make one say() method non-virtualJaromir Wysoglad
2019-09-01TTS: Don't read tooltips when TTS is speakingJaromir Wysoglad
2019-09-01TTS: Implement speech queueing on Linux and WinJaromir Wysoglad
2019-09-01TTS: Implement OSD message readingJaromir Wysoglad
2019-09-01TTS: Add tooltip reading when they appear.Jaromir Wysoglad
2019-09-01TTS: Fix reading of list widgetsJaromir Wysoglad
The TTS read items from list widgets even when the mouse was outside the widget
2019-09-01TTS: Stop or pause speaking on word boundaries in macOS implementationThierry Crozat
2019-09-01TTS: Improve documentationThierry Crozat
2019-09-01TTS: Implement TextToSpeechManager for macOSThierry Crozat
2019-09-01TTS: Add TTS support when compiling with msvc.Jaromir Wysoglad
2019-09-01MORTEVIELLE: Improve voice mapping to characters.Jaromir Wysoglad
* Return pitch -= 6 to females, this brings the pitch closer to zero * Add array of indices which ensures, that we use as many voices as we can.
2019-09-01MORTEVIELLE: Refactoring as suggested by CriezyJaromir Wysoglad
* Add checks if ttsMan != null before trying to use it * Simplify startSpeech * Move haut to startSpeech and pass the character index to the startSpeech instead.
2019-09-01MORTEVILLE: Stop speech when pressing F8.Jaromir Wysoglad
2019-09-01TTS: Remove unneeded codeJaromir Wysoglad
Remove debuging outputs Remove commented iconv implementation of text conversion to UTF-8
2019-09-01TTS: Add checks to configure.Jaromir Wysoglad
Check for presence of required libraries Disable automatic build of TTS on MinGW32
2019-09-01TTS: RefactoringJaromir Wysoglad
* 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-01TTS: Remove "static" from initTextToSpeech()Jaromir Wysoglad
2019-09-01MORTEVIELLE: Return old code to waitSpeechJaromir Wysoglad
The waitSpeech should use the old code, when just sound is playing (the TTS isn't speaking).
2019-09-01MORTEVIELLE: Remove unneeded TTS codeJaromir Wysoglad
2019-09-01MORTEVIELLE: Map characters to different voicesJaromir Wysoglad
2019-09-01TTS: Fix state switching on windowsJaromir Wysoglad
Voice is changed when changing language on windows, so when poping state, the voice, that should get set has to be saved before changing the language. The speech shouldn't continue when changing state, so it is stopped in pushState and popState.
2019-09-01TTS: Minor Windows TTS refactoringJaromir Wysoglad
Main changes are: * Save age information about each voice * Remove Sample TTS Voice from available voices, because it basicaly cannot speak. * Stop speech after silently playing the test speech (the last voice could be heard speaking after the volume got restored to its original value) * Remove voice data freeing from freeVoices, because it gets freed automaticaly
2019-09-01MORTEVIELLE: Add text to speech capabilityJaromir Wysoglad
2019-09-01TTS: Implement tts state switching when needed.Jaromir Wysoglad
The state has to be pushed and poped when there is a transition between game and gui code.
2019-09-01TTS: Add getVoiceIndicesByGender to the base classJaromir Wysoglad
This is a way to easily get a list of voices with the given gender
2019-09-01TTS: Add iconv implementation of strToUtf8Jaromir Wysoglad
This might be useful in the future, because SDL cannot convert from some important encodings (for example CP850)
2019-09-01TTS: Minor refactorisationsJaromir Wysoglad
- 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-01TTS: Add check to getVoice, fix typo.Jaromir Wysoglad
Check if _availableVoices isn't empty. Replace availaible with available
2019-09-01TTS: Change String == "" to String.empty()Jaromir Wysoglad
2019-09-01TTS: Update the TTS documentationJaromir Wysoglad
2019-09-01TTS: Move popState to the base classJaromir Wysoglad
2019-09-01TTS: Implement conversion to unicode in say on winJaromir Wysoglad
2019-09-01TTS: Implement conversion to UTF-8 in say on linuxJaromir Wysoglad