Skip to main content

Why on earth is this such a problem for Sonos.  I see a ton of SONOS employees on the support line who keep saying “So sorry, I don’t have access to a Mac”.    As if that is PAINFULLY obvious.

I have Sonos installed on the same freak’n machine as Apple Music and all of my Music.  There is absolutely no reason SONOS can’t read the Apple Music file, access my files, and import my playlists . . . zero reason.  

SONOS …. FIX. THIS.

I’ve got my music accessible, but only via a FIle share and SMB.  Really?  You’re installed on the same F’n disk.  Why do I need to pretend to access it from a network.  Idiotic.  

That said, I still can’t get the playlists to load properly.   I’ve exported everything via XML and RENAMED the default Libary.xml file to itunes Library.xml (I mean, this is the absolute hight of lazy coding . . . I have to name the file a specific name??? And it does’t provide a prompt that it can’t find what it’s looking for???).  Lazy.

But even after doing this, I still get file not found (I’ve been editing the file to make sure the references are relative to the share instead of the disk  …. to no luck), or access denied (I chmod -R 666 all my files so what gives???).

I am really at my wits end on this BS SONOS.   Make a damn effort here.  Anyone have a clue?

Do you have Music Library showing under Your Sources?  If so does your music show and play, but your playlists do NOT show? Is the folder, where the XML playlist files are stored, in the same folder where your music is stored; where the path you entered points to?


SOLVED --- NO THANKS TO SONOS

 

So I had the iTune Library.xml file in the right place and all the playlists came over but the files wouldn’t play, so I was really troubleshoot one of two things:  1) a rights problem or a 2) path problem.  The error messages in the SONOS app were confusing because they kept referencing my SMB share as not existing.  Turns out the main problem was in XML file itself:  i had edited the Music Folder to match the SMB path (//mac-mini.local/Music).  So SONOS was expecting the files to be at //mac-mini.local/Music/mac-mini.local/Music/ and of course they weren’t and it kept complaining about /mac-mini.local/Music not existing.  You can begin to see the problem.  After setting permissions to open everything up and trying all kinds of edits to the file location keys, I finally just removed the Music Folder key altogether. viola.

Here is what i did to make this work:

  1. Followed this: https://support.sonos.com/en-us/article/share-your-macos-music-folder-with-sonos
    1. Shared file is essentially Music\Music\Media\Music\….{album folders, etc} where only the last Music is shared as \\mac-mini.local\Music
  2. Exported the Apple Music default Library.xml file as iTune Library.xml into this shared Music folder.  THIS IS REALLY IMPORTANT.  For some reason there is no message or note that this file MUST BE NAMED this for SONOS to recognize it.
  3. EDITED THE FILE PATHS in the iTune Library.xml
    1. Removed anything in the initial Music Folder Key so it looked like this: <key>Music Folder</key><string></string>
    2. Edited the File location keys so they all valid from the SMB Share perspective, e.g. root folder is \\mac-mini.local\Music so all Location keys start with a /{folder_name}, e.g.: <key>Location</key><string>/{artistname}/{album}/songfile.mp3

Not sure why SONOS can’t simply read the music folder on Mac, or why they even have the option to do it if it doesn’t work on Mac, and really confused as to why it has taken hours of troubleshooting to figure out why it isn’t working.   Clearly, I have enough knowledge to want to do it myself, but not enough to struggle and not see all the clues.

Regardless, SONOS needs to update their documentation when it comes to getting the playlists in, because it’s a hot mess.


Don’t know anything about XML playlist files.  Would “relative path” work for those playlists?  I create my playlists using JRiver Media Center by dropping music into a playlist from an external drive.  So the front of each path statement will reflect the drive letter of the external drive.  I don’t use the external drive for my music library instead my library is in a NAS.  So rather than concerning myself with what the front of the path should look like I just replace the drive letter of the external drive with  ../

This only works if the folder structure in the NAS is exactly the same as the folder structure in the external drive.