Commit Graph

204 Commits

Author SHA1 Message Date
Nolan Darilek 1011704b82 And again, VSCode's find/replace didn't catch this. *grumble* 2021-03-31 11:12:42 -05:00
Nolan Darilek 6dbf9b7ddc Find/replace is failing me today. 2021-03-31 11:01:26 -05:00
Nolan Darilek 336c266ed4 Missed a few... 2021-03-31 10:53:08 -05:00
Nolan Darilek 57f91105ec s/TTS/Tts/ as per Clippy's acronym warnings. 2021-03-31 10:40:42 -05:00
Nolan Darilek ef96042b12 Bump Windows dependency and update accordingly. Also, fix an acronym Clippy warning. 2021-03-31 10:38:32 -05:00
Nolan Darilek fb7f1dddfc *sigh* Fix stupid M1/ARM casting issue. I hate Apple. 2021-03-15 14:02:05 -05:00
Nolan Darilek 50528ce2d1 Another comparison check fix. 2021-03-15 13:47:41 -05:00
Nolan Darilek 8c2aae7afd Try another initialization fix. 2021-03-15 13:46:22 -05:00
Nolan Darilek ed2d2e76c3 And this is what happens when I don't test on actual hardware. 2021-03-15 13:06:49 -05:00
Nolan Darilek 45255a8049 Fix another possibly broken comparison. 2021-03-15 13:04:38 -05:00
Nolan Darilek c65c0022d8 (Hopefully) initialize utterances correctly. 2021-03-15 13:03:41 -05:00
Nolan Darilek bd8e2ee20a Compare against ObjC NO to ensure correctness. 2021-03-15 13:02:51 -05:00
Nolan Darilek cdfb7ddb77 Even more bloody logging. 2021-03-12 06:59:49 -06:00
Nolan Darilek 290eb06d02 Even more trace logging. 2021-03-12 06:38:46 -06:00
Nolan Darilek e91637a67c Add even more trace logging. 2021-03-12 06:28:02 -06:00
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
Nolan Darilek 88ec7db075 Eliminate accidental deadlock. 2020-10-08 09:44:46 -05:00
Nolan Darilek 0c13c43a77 Fix incorrect error code name. 2020-10-08 08:16:01 -05:00
Nolan Darilek 6f12974ce4 Implement stop callback on MacOS. 2020-10-08 08:07:33 -05:00
Nolan Darilek 8c783205c3 Implement utterance_stop callback on most platforms. 2020-10-08 07:56:45 -05:00
Nolan Darilek 174011bbb4 Make `UtteranceId` use `u64` on most platforms, and add additional derives. 2020-10-08 07:16:10 -05:00
François Caddet d2c42d97f5 the voices::Backend trait is almost stable 2020-09-28 11:18:54 +02:00
François Caddet 3294a82485 some fixes
now build on macOS
2020-09-27 20:35:40 +02:00
François Caddet e19eb56169 first implementation of a voice trait for macOS
WARN: not tested
2020-09-27 20:04:12 +02:00
François Caddet f7297e18fd add condition for macOS 11 and greater for default backend 2020-09-26 23:39:30 +02:00
François Caddet f78aed211f fix conflicts 2020-09-26 23:36:15 +02:00
Francois Caddet 8c8dc0ae9f add voices value returned by the backends 2020-09-26 23:03:56 +02:00
Nolan Darilek c2bbc5ac04 Eliminate more Clippy warnings. 2020-09-26 12:47:18 -05:00
Nolan Darilek dbac8a3fe0 Eliminate some Clippy warnings. 2020-09-26 12:43:16 -05:00
Francois Caddet 47cbb80595 Merge branch 'develop' into feature/voices 2020-09-26 18:20:10 +02:00
Nolan Darilek ace5d2fd1f Make compatible with newly-released speech-dispatcher-rs. 2020-09-25 11:33:49 -05:00
Nolan Darilek 589c613bbe Implement FnMut callbacks on AV Foundation, and fix warnings. 2020-09-25 11:14:26 -05:00
Nolan Darilek 1f22843086 Refactor Linux, Windows, and Wasm platforms to use FnMut for callbacks, and bump version. 2020-09-25 11:08:19 -05:00
Nolan Darilek 96e5d21e24 Implement callbacks for WinRT. 2020-09-24 17:56:46 -05:00
Nolan Darilek a22242af50 Implement callbacks for web backend. 2020-09-24 14:26:30 -05:00
Nolan Darilek 532d5d9b58 Tighten up access. 2020-09-23 12:23:46 -05:00
Nolan Darilek 251fb8d8c1 Implement callbacks on AVFoundation. 2020-09-23 12:21:05 -05:00
Nolan Darilek bd57075d53 Implement unused framework for AVFoundation callbacks. 2020-09-23 11:28:56 -05:00
Nolan Darilek 36a12597de Merge branch 'v0.7' of https://github.com/ndarilek/tts-rs into v0.7 2020-09-23 11:00:41 -05:00
Nolan Darilek 6788277a4d Implement framework for utterance callbacks in Windows backends, though they aren't currently called. 2020-09-23 10:31:21 -05:00
Nolan Darilek 61522610cd Implement utterance begin/end callback framework, and set up for Speech-Dispatcher. 2020-09-23 10:12:51 -05:00
Nolan Darilek f5f11b7cdf Switch to using MediaPlaybackItem as WinRT utterance ID. 2020-09-22 14:51:59 -05:00
Nolan Darilek 017aa8863b Remove unused import and fix i~~OS builds. 2020-09-22 14:30:17 -05:00
Nolan Darilek 6b023c3071 Add AV Foundation support for returning utterance IDs. 2020-09-22 14:08:19 -05:00
Nolan Darilek 4816ec575c Make speak calls return an utterance ID, where possible. 2020-09-22 12:40:03 -05:00
Nolan Darilek d6508edd12 Remove workaround for incorrect Tolk string handling, pin minimum working version, and bump version. 2020-09-21 15:13:22 -05:00
François Caddet 97f1de5724 Merge branch 'develop' into feature/voices 2020-09-05 12:27:19 +02:00
François Caddet 335ac710a6 add unimplemented functions forvoices feature on every backends 2020-09-05 12:07:51 +02:00
François Caddet b238c8c938 fix return type of AVSpeechSynthesisVoice:new 2020-09-05 11:30:11 +02:00
François Caddet 0fb6c62d83 fix some parameters types and implement set_voice
We have an ilegal hardware instruction in
backend::av_foundation::voices::AVSpeechSynthesisVoice::new(identifier)
when sending voiceWithIdentifier. Is it because the runLoop is not
runing when it's called?
2020-09-04 15:48:56 +02:00
François Caddet 6ed94686f3 implement set_voice for AVFoundation backend
- TODO: test the implementation
- fixed: set_voice mutability of self parameter
2020-09-03 18:40:32 +02:00