I am making a music streaming application. One of the features is a play queue much like Spotify's where songs will automatically play from the artist, album, or playlist you started from or play songs you have queued if there are any.
I am considering what data structure(s) I will need for this. I am currently weighing the options of using a priority queue, where queued songs have priority over non-queued songs; or two normal queues, an automatic queue and a queued songs queue. I am also open to any better solutions that are out there.
What data structure(s) should I choose?