5634fdb393
Block initialization until TTS finishes initializing from Android.
2020-12-30 09:24:13 -06:00
1ac0b91981
Add ugly hack to prove that speech works.
2020-12-29 19:25:56 -06:00
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
f58f875fdf
Guess I don't need a global VM.
2020-12-29 15:48:18 -06:00
84926ea110
Store the TTS object in the struct.
2020-12-29 15:47:11 -06:00
da8260cba8
Store the TTS object in the struct.
2020-12-29 15:45:56 -06:00
965bea0adf
TTS seems to initialize now.
2020-12-29 14:10:39 -06:00
fc20431916
Refactor Android example to full, self-contained app.
2020-12-29 11:15:24 -06:00
cb91760468
Set Android API versions, and add Makefile.toml convenience script for getting Android logs.
2020-12-28 05:39:20 -06:00
187cd71eeb
Add Android example.
2020-12-27 10:42:41 -06:00
5849e340c9
Add initial Android stubs.
2020-12-27 09:41:34 -06:00
mcb2003
496d183fa4
FFI: Add module level doc comment.
2020-12-12 21:37:24 +00:00
mcb2003
d6504a33e9
FFI: Make cbindgen generate extern C block for C++, use qualified screaming snake case for enum variants.
2020-12-12 21:16:55 +00:00
mcb2003
f421dd9362
FFI: Implement tts_is_speaking() function.
2020-12-12 20:44:44 +00:00
mcb2003
a2c13dd21f
FFI: Allow getting and setting volume, and getting min, normal and max volume.
2020-12-12 20:31:30 +00:00
mcb2003
73210d6572
FFI: Allow getting and setting pitch, and getting min, normal and max pitch.
2020-12-12 20:29:34 +00:00
mcb2003
aa47b12622
FFI: Generate C bindings by default, not C++
...
More portible, and the FFI is much more C-like.
2020-12-12 20:20:22 +00:00
mcb2003
f4c7adfe5a
FFI: Allow getting and setting rate, and getting min, normal and max rate.
2020-12-12 20:04:48 +00:00
mcb2003
f71529d9b6
FFI: Make all functions with unsafe blocks completely unsafe.
...
This is better than using unsafe blocks inside the functions, as that
tells the compiler that the unsafeness won't leak out of the block,
which isn't true in this case as we're dealing with another unsafe
language.
2020-12-12 19:37:44 +00:00
mcb2003
ae6e64d973
FFI: Implement tts_stop() function.
2020-12-12 19:25:36 +00:00
mcb2003
98bfc10d41
FFI: Implement tts_speak()
...
The tts_speak() function has an additional parameter that, if not NULL,
will be filled with a pointer to an UtteranceId. If this is specified,
the caller must also call tts_free_utterance() to deallocate the
UtteranceId when they're done with it.
2020-12-12 19:15:58 +00:00
mcb2003
c0f9250099
FFI: Update documentation comments to match their Rust equivilents.
2020-12-12 17:06:58 +00:00
mcb2003
195ccbeb23
FFI: Allow determining TTS supported Features from C/C++
2020-12-12 16:59:07 +00:00
mcb2003
7c5ceb2bd3
FFI: Add cbindgen config for generation of C/C++ headers.
2020-12-12 16:35:08 +00:00
mcb2003
56a2d554fa
FFI: Implement tts_new(backend)
...
This required giving the Backends enum and Features struct a C
representation.
2020-12-12 16:32:53 +00:00
mcb2003
ab558cbbd2
FFI: Implement tts_default() constructor and tts_free() destructor
...
* tts_default() allocates a new TTS struct via it's default() constructor, returning a pointer to it or NULL on error.
* tts_free(tts) destroys the TTS pointed to by tts. If tts is NULL, this
function does nothing.
2020-12-12 01:47:10 +00:00
mcb2003
9471a2086a
FFI: Create error handling code and LAST_ERROR static
...
Any errors reported will cause the C API functions to return an error
value (NULL or -1). The caller can then use:
* const char* tts_get_error() to get a pointer to a string describing
the error
* void tts_clear_error() to deallocate any currently stored error
message.
2020-12-12 01:18:59 +00:00
mcb2003
a3a871716f
FFI: Create ffi Cargo feature and include ffi module.
2020-12-12 00:23:36 +00:00
6d17447350
Remove unnecessary dependencies and bump versions.
2020-12-07 22:39:30 -06:00
22007fbf79
Bump version.
2020-12-07 21:46:46 -06:00
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
a905439d9c
Add strategic backoff in WinRT backend to (hopefully) eliminate a deadlock.
2020-12-07 14:58:59 -06:00
49e8c0e5dc
Bump version.
2020-12-03 13:31:09 -06:00
ad67682235
Implement Send and Sync for UtteranceId on most platforms.
2020-12-03 13:21:24 -06:00
184becfd1a
Bump version.
2020-11-25 10:16:33 -06:00
0bdf0fcfd3
Account for macOS 11.
2020-11-25 10:13:17 -06:00
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
728c409e25
Add example for unscientifically measuring latency of TTS.
2020-11-25 09:54:46 -06:00
669c94af36
We don't need autoplay.
2020-11-23 17:20:55 -06:00
fa2903606e
Bump version.
2020-11-18 08:27:09 -06:00
9fb4f5e71e
Refactor release job.
2020-11-17 16:47:46 -06:00
34db699972
Rename build to check.
2020-11-17 16:42:44 -06:00
80d51e1bff
Fix cargo fmt CI failure.
2020-11-17 16:36:33 -06:00
f3705a1856
--target doesn't work here.
2020-11-17 16:28:28 -06:00
2f0ced4eaf
Install components and integrate rustfmt checks.
2020-11-17 16:22:14 -06:00
d5f92565e5
Integrate Clippy.
2020-11-17 16:16:14 -06:00
3224cbdf5a
We don't need iOS-specific builds since the macOS checks already handle this.
2020-11-17 16:10:20 -06:00
be96aacd7a
Add --target.
2020-11-17 16:06:18 -06:00
d97796fff7
Eliminate a Clippy warning.
2020-11-17 16:03:03 -06:00
f37133841a
Fix warnings.
2020-11-17 16:00:02 -06:00