| Crates.io | espeak-sys |
| lib.rs | espeak-sys |
| version | 0.0.2 |
| created_at | 2015-10-11 22:58:43.951358+00 |
| updated_at | 2015-12-11 23:58:51.47213+00 |
| description | Low-level bindings to libespeak |
| homepage | https://github.com/ctatchley/espeak-sys |
| repository | https://github.com/ctatchley/espeak-sys |
| max_upload_size | |
| id | 3198 |
| size | 39,588 |
Following convention of crates suffixed with -sys, the crate is no more than a bottom-level wrapper for the API
exposed by libespeak's header.
espeak-sys requires that you have libespeak somewhere on your computer where Rust's linker may find it.
To ensure libespeak is installed if you have a Debian-based Linux system, simply run the command
sudo apt-get install libespeak-dev
in your terminal.
libespeak may not be available, or may not be usable with this crate on platforms other than Linux.
Just add espeak-sys as a dependency in Cargo.toml and link to it within your crate:
[dependencies]
espeak-sys = "0.0.1"
extern crate espeak_sys;
Usage of the crate is as simple as using the provided functions as they are defined in libespeak's header file, with a few caveats.
Namely, the type field of the espeak_EVENT struct is renamed to event_type, as the former is a reserved keyword in Rust.
Additionally, due to the lack of a one-to-one correspondence for C's union types, the id field is represented by a mere u64
that the crate's user is expected to mercilessly transmute to the desired type variant.
Since id's type is dependent on the value of event_type, it should still be possible to build a safe wrapper upon the struct.
The function of each of the symbols this crate exposes is best documented in the C header file:
Copyright © 2015 Chandler Atchley
Distributed under the MIT License.