aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-01COMMON: Add CP850 conversion.Jaromir Wysoglad
CP850 is used by the mortevielle engine (and apparently by other engines too). Anytime an engine using CP850 encoding wants to use the TTS, the encoding has to be converted, so this is pretty important encoding conversion to support. Unfortunately SDL (when compiled without iconv) doesn't support this encoding (which means, there might not be a way to convert this encoding on some platforms), so I added a conversion table for this.
2019-09-01TTS: Use Common::Encoding for encoding conversion.Jaromir Wysoglad
2019-09-01TESTBED: Fix include guard in speech.hJaromir Wysoglad
2019-09-01WIN32: Use uint instead of unsigned int.Jaromir Wysoglad
2019-09-01TTS: Better documentation of TTSVoice.Jaromir Wysoglad
2019-09-01TTS: Rename LinuxTextToSpeechManager to SpeechDispatcherManagerJaromir Wysoglad
Add a new define for the SpeechDispatcherManager
2019-09-01TTS: Remove USE_PLATFORM_TTS definesJaromir Wysoglad
Use defined(USE_TTS) && defined(PLATFORM) instead
2019-09-01TTS: Add summary of changes in sphelper-scummvm.hJaromir Wysoglad
2019-09-01TTS: RefactoringJaromir Wysoglad
Refactoring as suggested by bluegr on github.
2019-09-01TESTBED: Don't build TTS tests if TTS is disabledJaromir Wysoglad
2019-09-01TTS: Document diferences in resume()Jaromir Wysoglad
On linux the resume() behaves slightly differently than on other platforms.
2019-09-01TTS: Fix missing indentationJaromir Wysoglad
2019-09-01JANITORIAL: Remove some trailing whitespacesJaromir Wysoglad
2019-09-01TTS: Implement our own queuing on windows.Jaromir Wysoglad
Similarly as on linux, there isn't enough control of the speech queue to properly implement INTERRUPT_NO_REPEAT. So since this commit we use our own queuing and use SAPI to speak each speech. This is done outside the main thread.
2019-09-01TESTBED: Increase pause in TTS pause testJaromir Wysoglad
2019-09-01TTS: Add proper speech queuing, update INT_NO_REP.Jaromir Wysoglad
Before I used SPD to queue messages and I had a copy of the queue, so I could requeue everything when resume is called(). But more control of the queue is needed, so I don't use the SPD's queue and instead start speeches from my queue one by one from another thread. INTERRUPT_NO_REPEAT now behaves as described in the documentation
2019-09-01TTS: Update documentation of INTERRUPT_NO_REPEATJaromir Wysoglad
2019-09-01TESTBED: Improve some TTS testsJaromir Wysoglad
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