m3u playlists on smb shared library, paths problem
H Community,
I have a local music library on an SMB share which I added to Sonos. Everything works fine, I can play the music, but the library also contains some ooooold .m3u playlist, originally created by iTunes, which do not work. On the smb share, the structure is like this:
Top level: Folder "Music" and the playlist files within "Music": The music files, sorted (mostly) into folders by artist.
The playlist files just consist of one line per piece with the relative path to the track, like this: \Music\The xx\xx\11 The xx - Stars.m4a
Now when I try to play a file from a playlist, Sonos says "File cannot be played, '\\<IP address>\musicshare\11 The xx - Stars.m4a' could not be found." , so it seems to just be omitting the path to the file. I have tried turning the "\"s into "/"s without success.
Is there a trick to save these playlists without moving all my music to the top level? If you have a similar setup for local files on a network, how do playlists work for you?
Page 1 / 1
Is \Music a subfolder of the folder containing the M3U file? Relative paths should work…
You could always just edit the M3U and change the \Music for the full/absolute path to the music files.
Currect, \Music is a subfolder within the share on the same level as the playlists. The thing is, Sonos doesn’t even seem to see the paths. Just did a test with an absolute path, this is my playlist:
This is the error
Interesting that it flipped the slashes, but otherwise the file is literally at that location :/
Can you play that file directly, using the Folders view?
Yep, all files in the libary can be played no problem with the folders view, via Artist, Album etc.
Strange. I’ve used plain m3u files for years and never encountered this issue.
I suggest you make up a new ANSI text file called, say, “test.m3u” containing just one line with the file pathname. I recommend you type it in manually. Save that, put it on the share and get Sonos to update the library index. See if it will play.
Just tried, new simple file with just that one line. No luck :/
You’re also running m3u playlists from a network share, then? How do your paths look, and what is your host OS?
\\192.168.2.254\usb\Music\L\Dire Straits\Brothers In Arms\01 So Far Away.flac \\192.168.2.254\usb\Music\L\Dire Straits\Brothers In Arms\02 Money For Nothing.flac \\192.168.2.254\usb\Music\L\Dire Straits\Brothers In Arms\03 Walk Of Life.flac \\192.168.2.254\usb\Music\L\Dire Straits\Brothers In Arms\04 Your Latest Trick.flac
From a sample m3u. The share is on a large USB stick mounted in a Netgear R7000 router, so the OS is whatever Netgear does.
OK, that looks pretty much the same as mine. Hrm, all very strange, maybe two more questions if you don’t mind:
Where would your playlist files be saved, and how is the library configured in Sonos? Mine looks like this:
This path (without quotes) works for me in an .m3u playlist where the share is on a NAS called NasBox and the ‘Music’ library share in the App is set to //NasBox/Media/Music
"\Music\Adele\25\1-01 Hello.m4a"
I can also make it work with the full path in the text file, as follows (similar to @ratty’s post):
Here I have selected to use the IP address, but presumably the NAS netbios name ‘NasBox’ can also be used instead.
I chose in this instance to put the playlist in the root of the shared folder called ‘Music’.
…if that is of any help at all?
That playlist is in another directory tree on the share (i,e. not \Music). I’ve added a handful of top level folders into Sonos for various purposes -- some for playlists, some for test files, as well as \Music itself -- but the playlist location is, and should be, irrelevant since I’m using absolute paths.
It really is rather a mystery. You can evidently see and load your playlist into the queue. You can play the files individually, so it can’t be an access rights problem. But the playlist entries in the queue are somehow broken. A possible clue is that the track is listed in the queue as a filename. Usually, assuming the target file has been indexed, the queue would show the metadata instead.