The purpose of this site is to take several Spotify Playlists and generate a single playlist from them.
The system then monitors those lists for changes and propagates any changes to the master list. This means that you can now follow spotify created lists or user created lists that change frequently to make your own mix in a single list. Ideal for mobile users. Can also be used to merge Spotify playlists!
Your username and an authentication token that allows us to modify your
playlists. This is obtained as part of the o-auth process and is provided by spotify.
This does not give us your password or any account information. We also store the time
this was last successfully obtained. Only recently did Spotify start telling users
exactly what the app they are authenticating to is requesting access to, but here are the
technical scopes that we request access to anyway:
Array (  => playlist-read-private  => playlist-read-collaborative  => playlist-modify-private  => playlist-modify-public  => ugc-image-upload )
- A list name, and spotify id for the primary master playlist. We also give this list a unique id that we can match to later. This is so that we know which list to modify. We also store a date/time of the last time this list either 'gained' or 'lost' any tracks. This helps us determine how 'fresh' a list is. We try not to refresh a list that has changed in the last 20 minutes to avoid spamming the spotify servers.
- The playlist id and owner id of each list you want to add to your master list . We also store the associated id from the previous step so that we know which list is the master for each sub list.
- We do not make any warranties or representations on behalf of Spotify and we expressly disclaim all implied warranties with respect to the Spotify Platform, Spotify Service and Spotify Content, including the implied warranties of merchantability, fitness for a particular purpose and non-infringement
- You agree that you are prohibited from modifying or creating derivative works based on the Spotify Platform, Spotify Service or Spotify Content
- You are prohibited from decompiling, reverse-engineering, disassembling, and otherwise reducing the Spotify Platform, Spotify Service, and Spotify Content to source code or other human-perceivable form, to the full extent allowed by law
- WritheM Web Solutions is responsible for this app and we hereby release any liability on the part of third parties (e.g., Spotify); In short, Spotify is not responsible for the content found on the WritheM Servers.
Here is a copy of the updates as they were originally posted on the main page. Each named version
is included below.
We are currently running version: imfs-1.0-20190611
11 Jun '19: v1.0-"Kokiri-Forest"
- Welcome to 1.0.
- You can now blacklist a set of songs with the exclude feature. Check the About/FAQ for full information
- I have added the ability for you to decide if you want the script to update your cover-art on a per-playlist basis.
5 Jun '19: v0.9-"Lemon-Squeezy"
- It is super basic but I've started to work on a theme. This means that the app will fully respect mobile devices and their screen sizes. Things should look much better for mobile users.
- I am aware that some users have url's in their magic playlist's description. For those users the script is currently double escaping the /'s in the url and making for a messy display after a few runs: "&amp;amp;amp;#x2F". The only solution I have right now is that you dont use urls in your playlist's description. It's not clickable anyway, so I urge you to consider it's importance anyway. :/
30 May '19: v0.8-"🐛"
- Was updating the playlist log but not sorting it. Now it sorts by date. Most recent at top. Which means the cover art now shows the last time it was udpated, not the first time. Thanks to Martjin for reporting.
- Playlist descriptions are respected if there is one. A '#log' is appended for the last 5 days at the end of the description.
5 May '19: v0.7-"Rembrandt"
- New functionality: The script will now update the cover art and description with a short log of when it added/removed anything. Some users may need to re-oauth for the cover-art to work. TODO: Will add a way to choose if you want the cover art replaced in the future. Dates are based on UTC.
- A limit has been added of maximum 7500 songs in a single magic list. If more songs are gathered, only the first 7500 songs will be added.
- I was previously detecting purged accounts based on ANY error from spotify when refreshing the oauth token. I am now properly capturing and purging only instances of token's being revoked on Spotify Accounts. The script will only purge revoked accounts now :) Sorry for anyone who was erroneously purged :( Feel free to use the import feature that I've added to re-add. Shouldn't happen again though.
10 Dec '18: v0.6-"Brutus"
- We are just starting to generate updates again after a month of being offline. Thank you for baring with us. We have optimized the script and it should run smoother than ever. Check status.writhem.com for updated information
26 Nov '18: v0.5-"Caesar"
- Recently went through some major server upgrades that did two things... Made things run faster, and did not migrate data. Sue me. You don't pay me. Okay don't sue me... please. I this for free. That being said, users will need to reauthenticate and then recreate their magic playlists. Sorry about that :( Should be generating lists again soon.
13 Jun '18: v0.4-"Reassignment-Surgery"
- Fixed some assumptions on data-types.
27 May '18: v0.3-"Echelon"
- Was getting some spotify api errors. The script catches those now and skips the problematic entry if anything dies. Additionally I output the errors to a log file so that I can analyze the problems later. The file deletes at the start of every day at midnight. Should allow me to fix the problem that Spotify is throwing...
30 Apr '18: v0.2-"Owlet"
- First public version.
Show me some cool stats?Alright. We dont have a lot of data but:
- We monitor lists for 634 accounts.
- These users have 476 master lists.
- And requested that we monitor a total of 4242 playlists for changes.
- time_complete=>2019-11-22 10:16:02 UTC
- time_current=>2019-11-22 10:25:51 UTC