diff options
Diffstat (limited to 'src/queue.rs')
| -rwxr-xr-x | src/queue.rs | 37 |
1 files changed, 37 insertions, 0 deletions
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<Song>, + 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; + } +} |
