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
5 months ago
examples Additional progress on tokio and async_std versions 5 months ago
src Additional progress on tokio and async_std versions 5 months ago
tests Fix compilation on non-unix platforms 11 months ago
.gitlab-ci.yml Test both synchronous and asynchronous API in pipeline 1 year ago
Cargo.toml Additional progress on tokio and async_std versions 5 months ago
LICENSE-APACHE add readme and license 1 year ago
LICENSE-MIT add readme and license 1 year ago
README.md Add tcp communication 11 months 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.