mcb2003
6b726463cd
FFI: Use std::os::raw::c_char instead of i8 or libc's c_char
...
This fixes an issue where the string pointer type in the generated bindings was const int8_t *. This works the same way, but could be confusing.
2021-03-06 13:08:31 +00:00
mcb2003
b972f44bc9
FFI: Don't use libc for C types like char and float
...
This insures the correct C standards are followed, but doesn't work on
wasm32-unknown-unknown targets, because there *is* no libc. Given that
the definition of `char` and `float` are very universal anyway, it makes
sense to just use `i8` and `f32`.
2021-03-06 11:30:42 +00:00
mcb2003
0644f03f34
FFI: Automatically generate bindings when building with ffi feature.
2021-03-06 10:26:13 +00:00
mcb2003
060a057c0f
FFI: Take only const pointers to TTS objects when we don't modify them.
2021-03-06 09:36:45 +00:00
mcb2003
9ab38f550f
Merge branch 'master' into c-ffi
2021-03-06 08:59:25 +00:00
42879dfa1f
Refactor to new windows crate.
2021-01-22 11:28:42 -06:00
296fa89f5d
Bump version, and use automatically-provided feature provided by optional tolk dependency.
2021-01-21 10:49:11 -06:00
mcb2003
74a2be13a9
Merge branch 'c-ffi' of https://github.com/mcb2003/tts-rs into c-ffi
2020-12-31 15:35:25 +00:00
mcb2003
bab977c0ea
FFI:: Fix spelling error in doc comments.
2020-12-31 15:31:46 +00:00
mcb2003
078cf83a13
FFI::: Add gen-c-bindings cargo-make target
...
This currently always saves the bindings to target/release.
2020-12-31 15:31:13 +00:00
mcb2003
af55101824
FFI: Add #ifdef for Android and don't generate declarations for Java
...
bindings.
2020-12-31 15:15:22 +00:00
mcb2003
a868aa670a
FFI: Add module level doc comment.
2020-12-31 13:54:15 +00:00
mcb2003
1a49a8dac1
FFI: Make cbindgen generate extern C block for C++, use qualified screaming snake case for enum variants.
2020-12-31 13:54:15 +00:00
mcb2003
989b6bb310
FFI: Implement tts_is_speaking() function.
2020-12-31 13:54:15 +00:00
mcb2003
0ffa4c6afe
FFI: Allow getting and setting volume, and getting min, normal and max volume.
2020-12-31 13:54:15 +00:00
mcb2003
32c9327f5c
FFI: Allow getting and setting pitch, and getting min, normal and max pitch.
2020-12-31 13:54:15 +00:00
mcb2003
6df1fe7f0e
FFI: Generate C bindings by default, not C++
...
More portible, and the FFI is much more C-like.
2020-12-31 13:54:15 +00:00
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