From 9c30356a3e0b333bab32ea1a866738fbab14ea11 Mon Sep 17 00:00:00 2001 From: krolxon Date: Tue, 30 Apr 2024 23:10:46 +0530 Subject: move queue into its own file, and optimize it --- src/queue.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 src/queue.rs (limited to 'src/queue.rs') diff --git a/src/queue.rs b/src/queue.rs new file mode 100755 index 0000000..821c508 --- /dev/null +++ b/src/queue.rs @@ -0,0 +1,37 @@ +use mpd::Song; + +#[derive(Debug)] +pub struct Queue { + pub list: Vec, + pub index: usize, +} + +impl Queue { + pub fn new() -> Self { + Queue { + list: Vec::new(), + index: 0, + } + } + + // Go to next item in list + pub fn next(&mut self) { + let len = self.list.len(); + if len != 0 { + if self.index < len - 1 { + self.index += 1; + } + } + } + + /// Go to previous item in list + pub fn prev(&mut self) { + if self.index != 0 { + self.index -= 1; + } + } + + pub fn reset_index(&mut self) { + self.index = 0; + } +} -- cgit v1.2.3