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
3157162192
Use Rust actions to (hopefully) speed things up.
2020-11-17 15:50:22 -06:00
2c73c75e00
Use Matrix build.
2020-11-17 15:15:43 -06:00
b6ef11b60f
Clean up release job.
2020-11-17 15:00:37 -06:00
10010f9bc9
Add caching to builds, and remove unneeded LLVM install.
2020-11-17 13:15:37 -06:00
3500e88117
Do we need LLVM for this?
2020-11-17 12:22:18 -06:00
1cbeab6ea9
Bump version.
2020-11-17 10:25:45 -06:00
590d6369fb
Remove debugging printlns.
2020-11-17 10:25:21 -06:00
80fa5d4583
Bump version.
2020-11-11 10:29:49 -06:00
6a706f36ab
Fix double-speaking bug for good, hopefully.
2020-11-11 10:27:03 -06:00
e1791c7046
Bump version.
2020-11-03 12:02:37 -06:00
031e0ff23f
Fix more queuing issues under WinRT.
2020-11-03 12:02:16 -06:00
204cd50935
Change example to expose more WinRT breakage.
2020-11-03 11:51:40 -06:00
6b74afe503
Remove unused variable.
2020-11-03 11:24:09 -06:00
4e157b6fb5
Check examples when building.
2020-11-03 11:23:03 -06:00
df4adc81a7
Bump version.
2020-11-03 11:20:29 -06:00
289a35dc83
Don't double-speak previous item when not flushing queue.
2020-11-03 11:20:02 -06:00
9c98026978
Don't re-initialize a player, just clear the item list.
2020-11-03 11:11:49 -06:00
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