use super::song::{Plan, Song, Verse}; pub struct PlaylistEntry { pub song: Song, pub plan_name: String, } pub struct PlaylistVerseRef { pub song_index: usize, pub song_map: String, pub map_verse_index: usize, } pub struct Display { pub playlist: Vec, current: PlaylistVerseRef, frozen_at: Option, pub blanked: bool, } impl Display { pub fn verse_ref(&self) -> &PlaylistVerseRef { self.frozen_at.as_ref().unwrap_or(&self.current) } pub fn verse(&self) -> Option<&Verse> { if self.blanked { None } else { } } pub fn entry(&self) -> Option { let vref = self.verse_ref(); self.playlist.get(vref.song_index) } pub fn plan() -> Plan {} }