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
22ee9863d6
Return utterance IDs when speech succeeds.
2020-12-30 09:44:47 -06:00
Nolan Darilek
da8260cba8
Store the TTS object in the struct.
2020-12-29 15:45:56 -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
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
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
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
Nolan Darilek
dbac8a3fe0
Eliminate some Clippy warnings.
2020-09-26 12:43:16 -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
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
1507527175
Add `Default` implementation for `Features` so backends need only specify features they actually support.
2020-08-24 16:44:00 -05:00
Nolan Darilek
7bcbda15b3
Update supported platforms.
2020-08-18 15:22:12 -05:00
Nolan Darilek
2f85c3b2bf
Add iOS build.
2020-08-18 15:16:30 -05:00
Nolan Darilek
cce1569c72
Sync supported synths in README and lib.rs.
2020-08-13 11:15:23 -05:00
Nolan Darilek
ff877acd87
Eliminate warning in non-MacOS builds.
2020-08-13 11:11:38 -05:00
Nolan Darilek
c5b1ff1944
Add AVFoundation backend, used automatically on MacOS 10.14 and above.
2020-08-13 11:08:00 -05:00
Nolan Darilek
cc2a4c12f7
Rename ns_speech_synthesizer backend to appkit.
2020-08-13 06:46:16 -05:00
Nolan Darilek
af678d76d1
Update documentation with supported backends.
2020-08-12 15:45:16 -05:00
Nolan Darilek
753f6c5ecd
WIP: Initial support for MacOS/`NSSpeechSynthesizer`.
...
* Add necessary dependencies, build script, and `NSSpeechSynthesizer` backend.
* Get very basic speech working.
Needs a delegate to handle queued speech, and currently segfaults if one is set.
2020-08-11 12:11:19 -05:00
Nolan Darilek
16a6f6378a
Under WinRT, recreate player completely when interruption is requested.
2020-07-06 12:52:18 -05:00
Nolan Darilek
4f011e6895
Get Tolk working again.
...
Two Tolk instances were being created. One checked for the presence of a screen reader. The other actually performed the speech, and was returned as part of the `TTS` instance.
Unfortunately, Tolk doesn't seem to appreciate being called twice. So here we check if a screen reader is detected and, if one is, return the instance that did the detection. Otherwise, error out and return the WinRT backend.
2020-06-11 13:00:24 -05:00
Nolan Darilek
d46b886875
Remove JavaScript error from non-JavaScript builds.
2020-06-02 14:57:21 -05:00
Nolan Darilek
c24c1d3230
Implement support for detecting when TTS is speaking.
2020-06-02 14:53:14 -05:00
Nolan Darilek
7b4fb8dae4
Clean up speech synthesis properties, and implement everything for WinRT.
...
I'd previously attempted to normalize everything to `u8`, but this had some drawbacks:
* It failed to account for some synthesis drivers defining normal as mid-range, while most define it very low.
* It didn't track the normal value for a given synthesizer.
* There was no clean way to map a curve between the minimum, normal, and maximum rates.
Here we track the minimum, normal, and maximum values of rate, pitch, and volume. Sanity checks are done on set.
Also, as a further proof-of-concept, all properties are now implemented for the WinRT driver.
2020-05-18 18:12:59 -05:00
Nolan Darilek
3198a537f0
Initial WinRT backend.
...
* Add WinRT backend
* Refactor to use thiserror and unify error-handling
* If a screen reader is detected. use Tolk. Otherwise, use the WinRT backend.
2020-05-18 15:14:09 -05:00