Nolan Darilek
ca7789f157
Bump version and Tolk dependency.
2021-05-20 13:59:02 -05:00
Nolan Darilek
d85d56c3ee
Bump version to work around Tolk crash.
2021-05-11 23:53:15 -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
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
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
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
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
François Caddet
5b0d1b6621
Add voices feature
...
Implemented for AVFoundation backend but set_voice has no effect for now
Warning: does not build on Linux or windows for now
2020-09-03 16:50:11 +02:00
Nolan Darilek
665013fdff
Split text sent to Tolk backend to account for some sort of length limit.
...
Tolk seems to fail on strings larger than 325 characters in length. Here we:
* Send any strings with 300 or fewer characters through directly.
* For larger strings, split on whitespace boundaries, then create and send buffers of 300 or fewer characters.
This may not handle internationalized text, and may not handle someone bombarding TTS with a giant word. PRs for either welcome.
2020-09-02 11:40:08 -05:00
Nolan Darilek
6c091f3284
Switch Speech-dispatcher initialization to threaded mode so callbacks work and `is_speaking` is correct.
2020-08-25 11:50:25 -05:00
Nolan Darilek
d3ffd5078f
cargo fmt
2020-08-24 16:46:57 -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
951e31b284
Implement `is_speaking` For Speech-dispatcher.
2020-08-19 21:28:30 -05:00
Nolan Darilek
a1e4215ea7
Normal volume of speech-dispatcher is 100, not 0.
2020-08-18 15:19:34 -05:00
Nolan Darilek
2f85c3b2bf
Add iOS build.
2020-08-18 15:16:30 -05:00
Nolan Darilek
c5b1ff1944
Add AVFoundation backend, used automatically on MacOS 10.14 and above.
2020-08-13 11:08:00 -05:00