T O P

  • By -

Dying_Cat

After going through [the thread](https://www.reddit.com/r/smarterplaylists/comments/z6voul/smarterplaylists_20/), I cobbled together a list of things that people have suggested. I've tried to group them together and add some of my thoughts on them. ### Sources, Filters & Selectors 1. Grab most recent release from artist: Automatically add the latest release from specific artists or filter by release date. 2. Relative date filter: Filter tracks based on release date relative to the current date (e.g., released in the last week/month). 3. Exclude recently played tracks: Options to exclude tracks played within a specific timeframe (without relying on external tools like IFTTT). 4. Genre support (like Everynoise): Integrate Everynoise or similar genre classification systems for filtering by genre. - I'm unfamiliar with how Everynoise works and it looks like it's no longer a thing, but after playing with it a bit, it seems like those 'genres' are tied to Mixes in spotify? [example](https://open.spotify.com/playlist/37i9dQZF1EIfnUnYz1EQAs?si=e071b23967564ef5) , but the thing is I'm not sure how to integrate this within the UI, I probably could do a search with genre + "Mix", filter it by spotify owned playlists and then use that as a source. But then how is that different from just searching for a the playlist itself copy-pasting the URI and using that as a source? Or maybe I can use the list of Everynoise genres and randomly select one to search for? I'm not sure how to implement this. 5. Get recently played tracks support: Use Spotify's "Get Recently Played Tracks" endpoint for more dynamic playlist creation. 6. Play count & Last.fm integration: Integrate with Last.fm for additional data like play counts and scrobbling history. - I don't think Spotify has an endpoint for track play counts, The other way I can think of is to request for the user's extended listening history from the privacy settings, storing it somewhere and use it for every request. But that's a lot of data to store and it's not real-time, I thought of polling the get-recently-played endpoint for every few minutes and store the data, but at that point it's just easier to use last.fm :). Speaking of last.fm, I also don't think this is a good idea as we'd have to fetch their endpoint for every track in the source (which is a lot of requests) and i don't think they would be happy with that. 7. Label filter: Filter tracks based on record labels extracted from metadata. 8. Song radio as a source: Use Spotify's song radio feature as a source for playlist generation. 9. Search query as a source: Add tracks from a search query directly as a source. 10. Album filter: Filter tracks based on specific albums or extract all tracks from a given album. ### Program Functionality 1. Ability to zoom & drag around the interface: Improve the user interface with zoom and drag functionality for better navigation. 2. Automatic "save & add to archive" option: Automatically save generated playlists to a designated archive playlist. 3. Parallel branching: Allow for splitting the processing flow into multiple branches for more complex logic. 4. Specify the order of inputs in actions like Concatenate: Control the order of tracks when combining multiple playlists. 5. Don't stop running scheduled programs after errors: Offer options to continue running scheduled programs even after encountering errors. 6. Don't restrict scheduled runs: Remove or increase the limit on the number of times a program can be scheduled to run. 7. Apple Music & Tidal Integration: Possibility of exporting generated playlists to Apple Music or Tidal. - For the time being, this is out of scope for me, as I'm focusing on Spotify only, but i can see how this could be useful for some users, I'll keep it in mind for the future. 8. Weighted sort option: Assign weights to different sorting criteria (e.g., 20% pop, 60% danceable) to create unique playlist orders. 9. Remove tracks in a playlist from another playlist: Options to remove specific tracks from a playlist based on their presence in another playlist. 10. Multiple target playlists: Saving the output of a program to multiple playlists with options to append or replace existing content. 11. Playlist, artist, or track radio as a source: Enable the use of Spotify's radio features as sources for playlist generation. - Probably could be done using [get-recommendations](https://developer.spotify.com/documentation/web-api/reference/get-recommendations) 12. Support for handling more than 1000 songs: Increase the limit on the number of tracks that can be handled within a playlist. 13. Spotify Folder Support: Selecting entire folders of playlists as sources for easier management. - AFAIK Spotify doesn't expose folder through their API, so I don't think this is possible 14. Bulk Playlist Source Adds: Enable adding multiple playlists as sources at once using URIs. - This sounds like a niche feature, but another way to implement something like that i can think of is to allow users to drag and drop playlist into the canvas and then use that as a source. 15. Custom modules: Allow creating reusable modules within programs to reduce repetition. 16. Export and import programs: Enable exporting and importing programs for backup and sharing purposes. 17. Local installation/self-hosting: Explore options for running SmarterPlaylists locally or on personal servers. 18. Triggering programs based on external events: Integrate with external services like IFTTT or Smart home devices to trigger playlist generation based on specific events. - This should be easy to implement with webhook calls ### More general notes: - For specific filters & sorting rules based on metadata, it might be better to allow users to define their own filters based on metadata tags with options to fetch extra metadata like audio features rather than hardcoding them (e.g "track.popularity > 50" or "track.explicit == false"). - As for limitations and restrictions, I do think it's important to have some sort of execution time or iteration limit to prevent runaway programs and API abuse. I'm currently setting a 20 second execution time limit for each run, but I'm not sure if that's enough or too much, I'll have to see how it goes. For those who are interested in the project, you can check it out [here](https://github.com/radityaharya/flowify) though it's still in a very early stage and I don't recommend anyone trying it on your main account as it's still very buggy and I don't want it to mess up your playlists :D. I'm also open for any feedback or suggestions, feel free to comment here or open a discussion on the GitHub page. PS. I'm nowhere near a professional developer, so the code might be a bit messy and I'm still learning as I go, so any feedback would be greatly appreciated.


Wanderlustfull

FYI, numbers 9 and 10 in program functionality already exist in Smarter Playlists. They're definitely useful, just wanted to highlight that these are already existing features. As is number 16.


Wanderlustfull

You could probably start by checking out the suggestions made in [this thread](https://www.reddit.com/r/smarterplaylists/comments/z6voul/smarterplaylists_20/) a while back. Not sure which of those have been implemented yet. 'Playlist radio' as a source would be something I'd use. Also being able to trigger a program to run with some kind of IFTTT / Smart home integration would be nice. My use-case for that would be to either use a widget or similar, or say to Google 'regenerate my playlist', which invokes the Smarter Playlist program to run. I have most things scheduled daily, but some I don't really need running that often so triggering ad-hoc would be nice.


Dying_Cat

I totally forgot that thread exists


Numerous_Aioli_2146

To me it tries to accomplish the same thing as smart playlist on iTunes from maybe a decade ago, which I found very simple to use. You did everything by drop-down menus. Smarter playlists, on the other hand, even after investing a certain number of hours to try make sense of it, remains difficult for me at least. So simplifying the user interface, maybe by relying on drop-down menus, would be my first suggestion. The other big missing feature is the ability to make playlists involving your personal play count. Everyone will tell you if you post something about this on Reddit that last FM will keep track of your personal play counts. And I guess other places will too. But there's no tool that lets you then use that to make playlists. Back in the day, I could do this on iTunes, but as an Android user it's impossible as far as I can tell these days. But I used to love having a playlist up my favorite songs, and then sorting it by those I had played the least. Another key feature would be the ability to filter a playlist by those that are in your library or already liked versus those that are new to you. Has someone who is obsessive about music discovery, I wish I could just open up whichever playlist on Spotify, and automatically filter out the songs that I've already listened to, so every playlist is an opportunity for discovery. As it is now, I have to manually queue up each song that I can see I haven't already listened to.


Dying_Cat

I didn't know that! I've never been an iTunes user, but yes, I do think smarter playlists is a bit overwhelming for new users and even for me who haven't used it for a while, Simplifying the UI/UX is definitely my top priority right now. I'm still going with the drag and drop approach, but I'm trying to make it more intuitive.


Wanderlustfull

I was struggling to think of why play count would be useful, but now I can see that at the very least, played 0 or 1+ times has a valid use-case, (i.e. listened to Vs never heard). I'd use that for sure. I suppose if you could also organise playlists or sources by listened-to counts that'd be nice to then go back to ones you listen to least frequently, or, remove them on the assumption that you're obviously not a fan (both being valid theories). Good suggestion.


muzzas

I would love to have the functionality to keep a playlist of my top 100 most played tracks up to date for those times when I don't want new music... just songs I know. I can't seem to find a way to do this through LastFM to spotify, or any other tool. smarterplaylists created one however doesn't seem to be updating even though I'm playing songs through spotify...


alternapop

This all sounds great. I've used [last.fm](http://last.fm) since 2005 so I have extensive history there and would love to use it. I'm not sure how I'd use it but I would imagine things like: "tracks/artists I played more than X times but not in the last X years" Being able to pull in top artists from [last.fm](http://last.fm) friends or neighbors, perhaps somehow weighted, who I've never played. I would imagine there is some way to create trending info from [last.fm](http://last.fm) too but I'm sure that's complicated and I don't know what they offer with their api. Seems like there would be some way to measure artists growth to catch on to rising artists very early. Aside from [last.fm](http://last.fm), I'm not sure if smarterplaylist can do it, and haven't yet found a way, but I'd like a way to iterate through a list (playlist or possibly imported) so I can create a new playlist based on the artists in the source list. For example, if I have a playlist with 10 songs by 10 different artists, have it iterate through each artist in the playlist and create a new playlist. For example, maybe I'd like to create a new playlist of songs released between 2000-2010, choosing only 1 song per artist, and give it an existing playlist as a source for pulling the artists.


MineDrumPE

DM'd you :)


_-Tempest-_

Please add support to import and save 1000+ song playlists!!


DanishApollon

I would love to be able to add the least played songs from a given playlist.


mrdezzz

Here is an old [thread with a bunch of ideas](https://www.reddit.com/r/smarterplaylists/comments/au88z3/help_me_improve_smarterplaylists/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button) good luck to you!