plylst icon indicating copy to clipboard operation
plylst copied to clipboard

Ability to specify an existing playlist to use as user's library

Open jamespember opened this issue 5 years ago • 7 comments

Use case:

Many Spotify users don't use the Save to Library feature.

I instead used the "Star" feature for years before Spotify removed it. I have instead just kept using the Starred playlist and add tracks to that playlist instead.

I'd like to be able to use my Starred playlist as my "library" for building smart playlists out of.

jamespember avatar Jun 17 '19 04:06 jamespember

Thoughts on just pulling from all playlists? OR what if we just looked for a playlist named "Starred"? That would then potentially automatically support that use case.

Shpigford avatar Jun 17 '19 14:06 Shpigford

Thoughts on just pulling from all playlists? OR what if we just looked for a playlist named "Starred"? That would then potentially automatically support that use case.

I actually like the idea of also using "Songs added to playlists" as the basis of the Library too. That basically means you can build Smart Plylsts based off of all the music I've "marked" in any way shape or form.

jamespember avatar Jun 17 '19 15:06 jamespember

I would like to something like this to. I have a giant playlist in my Spotify which contains songs I like. I would like to make a smaller playlist from the giant one last played > x

gieljnssns avatar Oct 29 '19 16:10 gieljnssns

I too would like to use playlists as the source/starting point. I have a lot of playlists for different reasons, and I would like to smart filter these. For example, for my playlist of all time best ever favourite songs, I would like to filter down to only hip hop, or only tracks released in last five years.

haszari avatar Jun 01 '20 05:06 haszari

+1 for using playlists as a source as well as a rule (e.g. to create a playlist which is a filtered view of another playlist, or a playlist which is a combination of other playlsits)

xkrogen avatar Jul 26 '20 18:07 xkrogen

@Shpigford I'm interested in contributing this feature, though I have a slightly different (and more broad) use case than what's been described above.

My most common need for dynamic playlists is to create combinations or filters of existing playlists. For example, I have a few playlists that I place songs into divided by broad genres. I then want to have a single playlist which aggregates all of these, and another playlist that takes recently added songs (say, last 15 days) to the aggregated playlist, and puts them in a "recently added" playlist. I tried using Smarter Playlists for this and it has all of the necessary functionality, but it seems to cap out at 200 songs and hasn't been updated in nearly 4 years, so I don't think it's a good place to start for contributions.

This would require the ability to set "all playlists" as a source as described in this issue, but additionally the requires playlist-based filters. Something like:

  • pull from all playlists
  • filter by playlist name "Playlist A|Playlist B"
  • Output to Playlist AB

And

  • pull from all playlists
  • filter by playlist name "Playlist AB" AND added in last 15 days
  • Output to Recently Added

I started looking around the code and it seems the biggest hurdle is that PLYLST is currently only aware of playlists it manages (playlists.rb), as opposed to the general set of all playlists. So a few questions:

  • Would you support a contribution as described above?
  • If so, I'm thinking we need an entirely separate model for non-PLYLST playlists, perhaps external_playlists. Does that make sense?
  • IIUC this will require a new worker to populate existing playlists -- this part I have no idea how to start with. I don't think I fully understand the workers, so would appreciate guidance if I were to work on this

xkrogen avatar Aug 29 '20 19:08 xkrogen

@Shpigford I like your plan! Let me know how I can help.

haszari avatar Aug 29 '20 20:08 haszari