use std::sync::Arc; use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize, Clone)] pub enum Card { Play(Arc), Pause, Resume, Next, Previous, Shuffle, VolumeUp, VolumeDown, ToggleHotspot, } impl From<&Card> for Option { fn from(card: &Card) -> Self { Some(card.clone()) } } impl> From for Card { fn from(music_file: T) -> Self { Self::Play(Arc::from(music_file.as_ref())) } }