To try to workaround bugs in the android app that have caused many of my local files to go from available one day to unavailable the next, I spent a couple hours last night clearing out all spotify data on my phone, making a playlist of ONLY my local tracks (songs that spotify doesn't have, or at least, at one time didn't have), then syncing my newly cleaned spotify app on the phone with the desktop app and selecting to download only that "not on spotify" playlist. I thought this would ensure that, before downloading any other lists, all my local files have made it on my phone and are playable.
That all worked out. The playlist on my phone showed all 796 songs with the little green "downloaded" arrows next to them, and none were greyed out.
Now today, I'm away from home, off of any wifi networks. I start up spotify, and big surprise, the playlist shows the grey download arrow, indicating it's not fully downloaded. I go into it, scroll through the tracks, and about 20% now have the grey arrows.
I figured out why. Turns out, for each of those tracks, spotify has either added the same song to their library, or has a song that's close enough that spotify has decided I would rather have their version of the song instead of the one I MANUALLY IMPORTED TO MY LIBRARY FROM MY COMPUTER AND THEN TRANSFERRED FROM THERE TO MY PHONE. So it essentially said "for all these songs in this playlist, let's leave the files here on your phone to take up space, and even though they were used to create the entries in the playlist in the first place, let's download our files to be used in their place once there's a wifi connection available. Until then, we'll stream our files to the phone instead of using the local files, because using the local files is clearly what this guy wants to do, and we write terrible software that doesn't work in any sort of reasonable way."
The main problem is that it's giving priority to spotify's version of tracks for which I've already provided the files and for which, at one time (yesterday), it fully accepted the files I provided.
However, another very annoying part is that for many of the songs, the fcking sht they're making me use isn't even correct.
I'm guessing they don't look at the album titles at all, because having the track be from a totally different album doesn't discourage spotify from replacing the track with a song that has a matching artist and song name. Yet, even some songs with slightly different song names are getting replaced. I have a track with the title "Sandstorm - Radio Edit". Instead of using the file with the same ID3 tag title THAT WAS BEING USED FOR THIS PLAYLIST ENTRY YESTERDAY, it's now using a song from their library just titled "Sandstorm".
And even further ridiculousness - the desktop app I'm now using at work (where I don't have my local files) has replaced the same track with "Sandstorm (radio version)". The playlist shows "Sandstorm - Radio Edit", but when I play it, the song that actually plays is "Sandstorm (radio version)". At least in that instance, the local file isn't available, so I'm not totally bummed they're trying to find and play the closest match from their library... but I would be mad (but not surprised) if they then try to replace the playlist entry with that song on all my devices (I swear this happens... I'm going to find now I have two versions of the song in my playlists -- the one I put there in the lists that haven't been used with the unavailable local file , and the one spotify replaced it with in the playlist that has been used (just now) with the unavailable local file).
I think the solution is to simply append "(Brent's version)" to the titles of all the files that I import. Maybe (and that's a big MAYBE) then spotify will realize it shouldn't try to replace songs that have corresponding files available locally with whatever non-local crap it thinks is close enough.
I really fcking hate how much work it is just maintaining my playlists with spotify constantly fcking them up.
Solved! Go to Solution.
Here's how to fix it:
1. Download an old version of spotify (I used 0.9.15.27 in my case).
2. Right click on songs you want fixed, hit Unlink Songs.
3. Redownload songs on spotify android.
Pretty sure the latest spotify android client doesn't properly support local files and will show no covers, so you may want to downgrade that too (anything before verison 3.0 should be safe).