diff --git a/src/lib.rs b/src/lib.rs index 41894fa..a9d0db0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,6 +13,7 @@ pub mod music_storage { pub mod music_controller{ pub mod controller; pub mod connections; + pub mod queue; } pub mod music_player; diff --git a/src/music_controller/controller.rs b/src/music_controller/controller.rs index 2d6a383..42f8f0e 100644 --- a/src/music_controller/controller.rs +++ b/src/music_controller/controller.rs @@ -24,31 +24,9 @@ use crate::{ music_player::Player, music_storage::library::{MusicLibrary, Song}, config::config::Config, + music_controller::queue::Queue, }; -struct Queue { - player: Player, - name: String, - songs: Vec, -} -impl Queue { - fn new() -> Result> { - Ok( - Queue { - player: Player::new()?, - name: String::new(), - songs: Vec::new() - } - ) - } - - fn set_tracks(&mut self, tracks: Vec) { - let mut tracks = tracks; - self.songs.clear(); - self.songs.append(&mut tracks); - } -} - pub struct Controller { // queues: Vec, config: Arc>, diff --git a/src/music_controller/queue.rs b/src/music_controller/queue.rs new file mode 100644 index 0000000..7eaace7 --- /dev/null +++ b/src/music_controller/queue.rs @@ -0,0 +1,25 @@ +use crate::{music_player::Player, music_storage::library::Song}; +use std::error::Error; + +pub struct Queue { + pub player: Player, + pub name: String, + pub songs: Vec, +} +impl Queue { + pub fn new() -> Result> { + Ok( + Queue { + player: Player::new()?, + name: String::new(), + songs: Vec::new() + } + ) + } + + pub fn set_tracks(&mut self, tracks: Vec) { + let mut tracks = tracks; + self.songs.clear(); + self.songs.append(&mut tracks); + } +}