You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tait Hoyem cbcd244e46
Additional progress on tokio and async_std versions
1 year ago
examples Additional progress on tokio and async_std versions 1 year ago
src Additional progress on tokio and async_std versions 1 year ago
tests Fix compilation on non-unix platforms 2 years ago
.gitlab-ci.yml Test both synchronous and asynchronous API in pipeline 2 years ago
Cargo.toml Additional progress on tokio and async_std versions 1 year ago
LICENSE-APACHE add readme and license 2 years ago
LICENSE-MIT add readme and license 2 years ago
README.md Add tcp communication 2 years ago

README.md

Rust SSIP Client

build status license Crates.io Version docs.rs

Speech Dispatcher SSIP client library in pure rust.

The API is synchronous by default.

A non-blocking API can be used with a low-level polling mechanism based on poll, or with mio.

  • Unix socket.
  • TCP socket.
  • Stop, cancel, pause and resume.
  • List, set voices.
  • Set rate, pitch, volume.
  • Notifications.
  • Message history.

Getting Started

To use the synchronous API or an asynchronous API compatible with low-level crates based on poll, use:

[dependencies]
ssip-client = "0.8"

For the asynchronous API, use:

[dependencies]
ssip-client = { version = "0.8", features = ["async-mio"] }

Example

use ssip_client::{FifoBuilder, ClientName};
let mut client = fifo::Builder::new().build()?;
client
    .set_client_name(ClientName::new("joe", "hello"))?
    .check_client_name_set()?;
let msg_id = client.speak()?.send_line("hello")?.receive_message_id()?;
client.quit()?;

See other examples in the repository.

License

This software is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.