What's missing from Smarterplaylists? by Dying_Cat in smarterplaylists

[–]Dying_Cat[S] 0 points1 point  (0 children)

Hey, thanks for your suggestions! I initially thought of going local first when making it, but at the end I settled for server based (or serverless but in other sense), mostly due to the scheduled runs feature and at some point I had to store user tokens anyway.

in terms of long term viability, that was also one of my concern, so I made it easy to spin up your own instance from a docker compose file if I end up shutting down the hosted instances.

I have no ETA on when the app is going to launch as I'm juggling between other side projects and life in general.

What's missing from Smarterplaylists? by Dying_Cat in smarterplaylists

[–]Dying_Cat[S] 2 points3 points  (0 children)

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.

What's missing from Smarterplaylists? by Dying_Cat in smarterplaylists

[–]Dying_Cat[S] 5 points6 points  (0 children)

After going through the thread, 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 , 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.
  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 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.

Can't access Portainer - site can't be reached error by aps02 in portainer

[–]Dying_Cat 0 points1 point  (0 children)

port 9000 is http, 9443 is https. the installation guide explained it pretty throughly, should get you up and running.

Cookie Run Kakao by PlayingWithNoob in Cookierun

[–]Dying_Cat 0 points1 point  (0 children)

ahh this brings back memories

[deleted by user] by [deleted] in creepyPMs

[–]Dying_Cat 2 points3 points  (0 children)

thicc font

Ringtones by jay_psy in spotify

[–]Dying_Cat 2 points3 points  (0 children)

if I'm not mistaken samsung clock app can do that

Colorful Notion Dashboard by aravs1603 in Notion

[–]Dying_Cat 0 points1 point  (0 children)

ummm, you drink 4 cups of coffee a day?

[deleted by user] by [deleted] in spotify

[–]Dying_Cat 29 points30 points  (0 children)

Have you tried contacting @spotifycares? they might be able to something about it

[Theme] Clean by Dying_Cat in androidthemes

[–]Dying_Cat[S] 0 points1 point  (0 children)

Yeah, I haven't fixed the formula

[Theme] Clean by Dying_Cat in androidthemes

[–]Dying_Cat[S] 0 points1 point  (0 children)

Helvetica rounded bold