use serde::{Serialize, Deserialize}; #[derive(Serialize, Debug)] pub struct PlayMessage { pub container: String, pub url: Option, pub content: Option, pub time: Option, } impl PlayMessage { pub fn new(container: String, url: Option, content: Option, time: Option) -> Self { Self { container, url, content, time } } } #[derive(Serialize, Debug)] pub struct SeekMessage { pub time: u64, } impl SeekMessage { pub fn new(time: u64) -> Self { Self { time } } } #[derive(Deserialize, Debug)] pub struct PlaybackUpdateMessage { pub time: u64, pub state: u8 //0 = None, 1 = Playing, 2 = Paused } #[derive(Deserialize, Debug)] pub struct VolumeUpdateMessage { pub volume: f64 //(0-1) } #[derive(Serialize, Debug)] pub struct SetVolumeMessage { pub volume: f64, } impl SetVolumeMessage { pub fn new(volume: f64) -> Self { Self { volume } } }