From 69acea866465ce9745f5c4f0aeac0eb6a4d91a49 Mon Sep 17 00:00:00 2001 From: baguette <35662205+peppizza@users.noreply.github.com> Date: Wed, 18 Nov 2020 19:33:00 -0500 Subject: [PATCH] TrackQueue: Add current_queue method (#16) --- src/tracks/queue.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/tracks/queue.rs b/src/tracks/queue.rs index bbfab65e8..d7e635bf0 100644 --- a/src/tracks/queue.rs +++ b/src/tracks/queue.rs @@ -278,6 +278,19 @@ impl TrackQueue { inner.stop_current() } + + /// Returns a list of currently queued tracks. + /// + /// Does not allow for modification of the queue, instead returns a snapshot of the queue at the time of calling. + /// + /// Use [`modify_queue`] for direct modification of the queue. + /// + /// [`modify_queue`]: #method.modify_queue + pub fn current_queue(&self) -> Vec { + let inner = self.inner.lock(); + + inner.tracks.iter().map(|q| q.handle()).collect() + } } impl TrackQueueCore {