Sunday, March 30, 2014

4 Google Music Manager and SQLlite

I use Google Music Manager to mange my music collection for a while. Recently, I decide to reorganize my music library and I found some inconvenience or rather say “can be improved” about the Google Music Manager.

If you are reading this, you probably already know how good is the Google Music . I will just start with my unsatisfied points.

  1. ID3 Tag only takes ID3v2 with UTF-16.
  2. Not able to retry the failure upload tracks.
  3. Update ID3 tags does not trigger the re upload. ( Music Manager use MD5 to identify whether changes on the Music file itself. Music Manager wont change recognize its new update file even we change the ID3 Tags. )

For me, Point 2 and 3 are the issue I like to resolve so I start pork around. The exploration of the application lead me find the log file and the sqlite db under the C:\Users\%USERNAME%\AppData\Local\Google\MusicManager


Since it is a Sqlite db, lets try to see whats in there.

WARMING! Make sure you backup the file before you try it on your system.

  • Close Music Manager
  • Backup the ServerDatabase.db ( just make a copy to other directory).
  • connect to ServerDatabase.db   ( I use sqliteman)


xfiles contains all the tracks that has been scan by Music Manager. There is very little document I can find about the table definition. Below are the list of the status that I can find in the internet.


  • 0:  Not yet upload
  • 1: ? ?
  • 2:already upload
  • 4: Error uploading file
  • 5: ??
  • 6: Reach 20000 tracks
  • 11: File marked as permanent failure on server

Therefore, if we want make the music manager to upload the files, we need to update the row with MusicUploadStatus to 0.

update xfiles set MusicUploadStatus =0 where  
MusicUploadStatus =4 
Another way is touch the file to force the MD5 change so Music manager would retry. I may try it later to see how it works.


  1. All good music resembles something. I feel as if good music stirs by its mysterious resemblance to the objects and feelings which motivated it.
    heavy metal bands

  2. thanks for this info. it helped me in forcing the reupload of a song. i have several tracks with that same title in my library and the music manager log (from system preferences) does not specify the album name or path info.
    from my tests and some analysis of my ServerDatabase.db file, i'd say that MusicUploadStatus = 5 means that the song was left in "upload error" (4) and subsequently reuploaded after a change in its MD5 hash.
    so, 1 might mean "uploaded at first try", and 2 "uploaded after one or more automatic retries but without a MD5 change".

  3. further testing reveals that 5 means the song was reuploaded after a MD5 hash change, no matter what its previous status was.

  4. The Google Music Manager GUI shows 500 files successfully uploaded, but then the Samba file share disconnects. Now the number of successful uploads is 63 from the sqlite database. ¯\_(ツ)_/¯

    $ sqlite3 $HOME/Library/Application\ Support/Google/MusicManager/ServerDatabase.db
    sqlite> SELECT count(*) from xfiles where MusicUploadStatus != 0;

    Time to switch to the (Unofficial) Google Play Music API:



SQL Panda Copyright © 2011 - |- Template created by O Pregador - |- Powered by Blogger Templates