Events: Add Play/Pause events.

Uses much of the existing machinery to add some more PlayMode state change events—all in all, a pretty simple change.

Closes #29.
This commit is contained in:
Kyle Simpson
2021-01-17 23:10:57 +00:00
parent cb2398f182
commit 868c44c19f
3 changed files with 21 additions and 2 deletions

View File

@@ -1,3 +1,5 @@
use crate::events::TrackEvent;
/// Playback status of a track.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
#[non_exhaustive]
@@ -29,6 +31,15 @@ impl PlayMode {
state => state,
}
}
pub(crate) fn as_track_event(self) -> TrackEvent {
use PlayMode::*;
match self {
Play => TrackEvent::Play,
Pause => TrackEvent::Pause,
Stop | End => TrackEvent::End,
}
}
}
impl Default for PlayMode {