/// Handles communication between different parts of the program. #[allow(dead_code, reason = "this code may not be dead depending on features")] #[derive(PartialEq, Debug, Clone, Copy)] pub enum Message { /// Deliberate user request to go to the next song, also sent when the /// song is over by the waiter. Next, /// When a track is loaded after the caller previously being told to wait. /// If a track is taken from the queue, then there is no waiting, so this /// is never actually sent. Loaded, /// Similar to Next, but specific to the first track. Init, /// Unpause the [Sink]. Play, /// Pauses the [Sink]. Pause, /// Pauses the [Sink]. This will also unpause it if it is paused. PlayPause, /// Change the volume of playback. ChangeVolume(f32), /// Set the volume of playback, rather than changing it. SetVolume(f32), /// Bookmark the current track. Bookmark, /// Quits gracefully. Quit, }