Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Bindings for libespeak

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.

Dependencies

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.

Usage

Just add espeak-sys as a dependency in Cargo.toml and link to it within your crate:

[dependencies]
espeak-sys = "0.0.2"
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.

Finding Help

The function of each of the symbols this crate exposes is best documented in the C header file:

License

Copyright © 2015 Chandler Atchley

Distributed under the GNU GPL v3 License.

About

Fork of espeak-sys Rust crate

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages