Commit Graph

126 Commits

Author SHA1 Message Date
Nolan Darilek 81eba99594 Add cast to (hopefully) get AppKit compiling on M1 macs. 2021-03-12 06:20:05 -06:00
Nolan Darilek 1f510120a5 Add trace logging in AVFoundation backend. 2021-03-12 05:58:30 -06:00
Nolan Darilek 1d075f7ece When speech is interrupted on AVFoundation, only stop if already speaking. May address a possible deadlock. 2021-03-12 05:50:08 -06:00
Nolan Darilek a22ee53727 Fix Clippy warnings. 2021-03-12 05:48:14 -06:00
Nolan Darilek c21d4a6a38 Eliminate separate winrt_bindings crate since it no longer seems necessary for fast builds. 2021-03-11 13:21:41 -06:00
Nolan Darilek 42879dfa1f Refactor to new windows crate. 2021-01-22 11:28:42 -06:00
Nolan Darilek 296fa89f5d Bump version, and use automatically-provided feature provided by optional tolk dependency. 2021-01-21 10:49:11 -06:00
Nolan Darilek 06eb32b6d4 Make module imports more consistent. 2020-12-30 14:23:31 -06:00
Nolan Darilek cee5777556 README/packaging tweaks for Android. 2020-12-30 12:41:28 -06:00
Nolan Darilek 8d6f40b1a5 Finish callback implementation. 2020-12-30 12:19:44 -06:00
Nolan Darilek 0ea46b29b2 Partially implement callbacks. Unfinished due to lazy_static inconsistencies. 2020-12-30 11:37:46 -06:00
Nolan Darilek c92b67127c Support is_speaking. 2020-12-30 10:15:37 -06:00
Nolan Darilek 733b17fe2c Log TTS initialization failures. 2020-12-30 10:10:49 -06:00
Nolan Darilek 440154502b Clear some unused variable warnings. 2020-12-30 10:07:27 -06:00
Nolan Darilek 2120de8756 Support pitch. 2020-12-30 10:06:18 -06:00
Nolan Darilek e1c2171833 Support stopping. 2020-12-30 09:49:13 -06:00
Nolan Darilek 22ee9863d6 Return utterance IDs when speech succeeds. 2020-12-30 09:44:47 -06:00
Nolan Darilek 5634fdb393 Block initialization until TTS finishes initializing from Android. 2020-12-30 09:24:13 -06:00
Nolan Darilek 1ac0b91981 Add ugly hack to prove that speech works. 2020-12-29 19:25:56 -06:00
Nolan Darilek 32f57d8578 Speak calls pass to Java, but don't work since something isn't bound to the engine. 2020-12-29 17:25:58 -06:00
Nolan Darilek f58f875fdf Guess I don't need a global VM. 2020-12-29 15:48:18 -06:00
Nolan Darilek 84926ea110 Store the TTS object in the struct. 2020-12-29 15:47:11 -06:00
Nolan Darilek da8260cba8 Store the TTS object in the struct. 2020-12-29 15:45:56 -06:00
Nolan Darilek 965bea0adf TTS seems to initialize now. 2020-12-29 14:10:39 -06:00
Nolan Darilek fc20431916 Refactor Android example to full, self-contained app. 2020-12-29 11:15:24 -06:00
Nolan Darilek 5849e340c9 Add initial Android stubs. 2020-12-27 09:41:34 -06:00
Nolan Darilek d8f2b3fb00 I'll do my own queuing, MediaPlaybackList is either the wrong tool for the job or way too buggy. 2020-12-07 21:35:07 -06:00
Nolan Darilek a905439d9c Add strategic backoff in WinRT backend to (hopefully) eliminate a deadlock. 2020-12-07 14:58:59 -06:00
Nolan Darilek ad67682235 Implement Send and Sync for UtteranceId on most platforms. 2020-12-03 13:21:24 -06:00
Nolan Darilek 0bdf0fcfd3 Account for macOS 11. 2020-11-25 10:13:17 -06:00
Nolan Darilek f4952ad132 UWP tweaks and optimizations.
* Initialized TTS `MediaPlayer` in real-time mode.
* Set media category to speech.
* More aggressively drop locks to prevent deadlocks.
* Remove checks of queued items that are no longer necessary.
* Made `is_speaking` check both media player state and queued item count.
* Return eagerly from `stop` if speech isn't in progress, thus eliminating more locks.
2020-11-25 10:07:28 -06:00
Nolan Darilek 669c94af36 We don't need autoplay. 2020-11-23 17:20:55 -06:00
Nolan Darilek d97796fff7 Eliminate a Clippy warning. 2020-11-17 16:03:03 -06:00
Nolan Darilek 590d6369fb Remove debugging printlns. 2020-11-17 10:25:21 -06:00
Nolan Darilek 6a706f36ab Fix double-speaking bug for good, hopefully. 2020-11-11 10:27:03 -06:00
Nolan Darilek 031e0ff23f Fix more queuing issues under WinRT. 2020-11-03 12:02:16 -06:00
Nolan Darilek 6b74afe503 Remove unused variable. 2020-11-03 11:24:09 -06:00
Nolan Darilek 289a35dc83 Don't double-speak previous item when not flushing queue. 2020-11-03 11:20:02 -06:00
Nolan Darilek 9c98026978 Don't re-initialize a player, just clear the item list. 2020-11-03 11:11:49 -06:00
Nolan Darilek d3e05b5a7a Revert "Pass TTS instance as first argument to utterance callbacks."
This appears to break callbacks, and is of limited utility.

This reverts commit 29c0a8463e.
2020-11-03 11:03:55 -06:00
Nolan Darilek 29c0a8463e Pass TTS instance as first argument to utterance callbacks. 2020-11-02 22:40:30 -06:00
Nolan Darilek cf0ad2221e Derive Debug. 2020-11-02 21:44:47 -06:00
Nolan Darilek 551bb1292e Make `TTS` clonable.
Also, add other possibly useful derives.
2020-11-02 21:27:13 -06:00
Nolan Darilek 565aa6d654 Fix issue where is_speaking always returns true under WinRT, and bump version. 2020-11-02 13:30:39 -06:00
Nolan Darilek 5feede0b8f Remove unnecessary debug logs. 2020-11-02 10:11:53 -06:00
Nolan Darilek 0bbda0a90f Remove WinRT code for handling paused player state, which caused issues with queued speech. 2020-10-30 10:23:24 -05:00
Nolan Darilek e66b8403aa Remove unnecessary full module names. 2020-10-14 03:54:53 -05:00
Nolan Darilek a281d74e5c Whitespace fix. 2020-10-14 03:51:08 -05:00
Nolan Darilek 51837a51bf Document feature. 2020-10-08 19:08:18 -05:00
Nolan Darilek fa216a534e Gate Tolk behind use_tolk feature to support compilation on UWP. 2020-10-08 19:07:07 -05:00