#![warn(missing_docs)]
pub mod audio;
pub mod protocol;
pub mod scheduler;
pub mod sync;
pub use audio::GainControl;
pub use protocol::client::{Connection, Controller, ProtocolClient};
pub use protocol::client_builder::ProtocolClientBuilder;
pub use protocol::messages::ServerHello;
pub use scheduler::AudioScheduler;
pub use sync::raw_clock::{Clock, DefaultClock};
pub type Result<T> = std::result::Result<T, error::Error>;
pub mod error {
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("WebSocket error: {0}")]
WebSocket(String),
#[error("Protocol error: {0}")]
Protocol(String),
#[error("Invalid message format")]
InvalidMessage,
#[error("Connection error: {0}")]
Connection(String),
#[error("Audio output error: {0}")]
Output(String),
}
}