mcb2003
cf35c19c57
FFI: Allow getting and setting rate, and getting min, normal and max rate.
2020-12-31 13:54:15 +00:00
mcb2003
729ece9a07
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-31 13:54:15 +00:00
mcb2003
0905f6d6c6
FFI: Implement tts_stop() function.
2020-12-31 13:54:15 +00:00
mcb2003
05a065c6d3
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-31 13:54:15 +00:00
mcb2003
53f352e1a8
FFI: Update documentation comments to match their Rust equivilents.
2020-12-31 13:54:15 +00:00
mcb2003
f6546303f8
FFI: Allow determining TTS supported Features from C/C++
2020-12-31 13:54:15 +00:00
mcb2003
3b1994ab36
FFI: Add cbindgen config for generation of C/C++ headers.
2020-12-31 13:54:15 +00:00
mcb2003
8e86afb444
FFI: Implement tts_new(backend)
...
This required giving the Backends enum and Features struct a C
representation.
2020-12-31 13:54:15 +00:00
mcb2003
5e7ab42f59
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-31 13:54:15 +00:00
mcb2003
c5bbbfcfd7
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-31 13:54:15 +00:00
mcb2003
0ca3100a97
FFI: Create ffi Cargo feature and include ffi module.
2020-12-31 13:54:15 +00:00
3e1f5af61a
Call rustup manually, since the action doesn't seem to work.
2020-12-30 14:50:36 -06:00
15b7b33ed3
Are these CSVs?
2020-12-30 14:31:27 -06:00
22cff2ddd1
Bump version.
2020-12-30 14:23:58 -06:00
06eb32b6d4
Make module imports more consistent.
2020-12-30 14:23:31 -06:00
69af3465b3
We don't need dylib on Android, and it breaks WinRT. Revert.
2020-12-30 14:21:32 -06:00
699d0d23e9
Add necessary targets.
2020-12-30 14:15:14 -06:00
7eb74729fc
Use cargo-apk to test Android build.
2020-12-30 14:00:25 -06:00
d806c44c76
My brain hurts and I can't figure out how to set this CI action up right now. But it works, so release.
2020-12-30 13:09:29 -06:00
adfb2146ac
Bump version.
2020-12-30 12:53:21 -06:00
914a7a1972
Make script executable.
2020-12-30 12:51:55 -06:00
cf39be85af
Looks like the tool cache isn't supported or is failing. Comment out for now.
2020-12-30 12:43:15 -06:00
cee5777556
README/packaging tweaks for Android.
2020-12-30 12:41:28 -06:00
a01fd93502
Build Android example as part of CI.
2020-12-30 12:28:07 -06:00
8d6f40b1a5
Finish callback implementation.
2020-12-30 12:19:44 -06:00
0ea46b29b2
Partially implement callbacks. Unfinished due to lazy_static inconsistencies.
2020-12-30 11:37:46 -06:00
c92b67127c
Support is_speaking.
2020-12-30 10:15:37 -06:00
733b17fe2c
Log TTS initialization failures.
2020-12-30 10:10:49 -06:00
440154502b
Clear some unused variable warnings.
2020-12-30 10:07:27 -06:00
2120de8756
Support pitch.
2020-12-30 10:06:18 -06:00
e1c2171833
Support stopping.
2020-12-30 09:49:13 -06:00
22ee9863d6
Return utterance IDs when speech succeeds.
2020-12-30 09:44:47 -06:00
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
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