92 lines
2.2 KiB
Rust
92 lines
2.2 KiB
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct TTSVoice {
|
|
pub id: String,
|
|
pub name: String,
|
|
pub lang: String,
|
|
#[serde(default)]
|
|
pub disabled: bool,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct TTSMessageEvent {
|
|
pub code: String, // 'boundary' | 'error' | 'end'
|
|
pub message: Option<String>,
|
|
pub mark: Option<String>,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct InitResponse {
|
|
pub success: bool,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SpeakArgs {
|
|
pub text: String,
|
|
#[serde(default)]
|
|
pub preload: bool,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SpeakResponse {
|
|
pub utterance_id: String,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SetRateArgs {
|
|
pub rate: f32,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SetPitchArgs {
|
|
pub pitch: f32,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SetVoiceArgs {
|
|
pub voice: String,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct GetVoicesResponse {
|
|
pub voices: Vec<TTSVoice>,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SetMediaSessionActiveRequest {
|
|
pub active: bool,
|
|
pub keep_app_in_foreground: bool,
|
|
pub notification_title: Option<String>,
|
|
pub notification_text: Option<String>,
|
|
pub foreground_service_title: Option<String>,
|
|
pub foreground_service_text: Option<String>,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct UpdateMediaSessionStateRequest {
|
|
pub playing: bool,
|
|
pub position: Option<f64>,
|
|
pub duration: Option<f64>,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct UpdateMediaSessionMetadataRequest {
|
|
pub title: Option<String>,
|
|
pub artist: Option<String>,
|
|
pub album: Option<String>,
|
|
pub artwork: Option<String>,
|
|
}
|