2014-02-20

Note: Due to the 10k character limit, a slightly more detailed helpful version is enclosed as: HowToFixSlimserverPlaylistsForTouch MoreDetailed.pdf

Background

I am currently running a Squeezebox 2 with Slimserver 6.5.4. It has been rock solid since installed. Almost all of my Music is flac’s created by Exact Audio Copy which also creates a relative playlist (m3u) for each CD.

A RELATIVE playlist as used by Slimserver means the Player can find songs anywhere within the Music directory. Here is my Music folder:



Here is the file structure for one of the above Album folders:



The end result is that I now have about 2,500 songs and 113 playlists on the Slimserver.

Enter the Cowon S9

Early on and in the pre-Squeezebox Touch era, I was looking for a ‘portable’ Squeezebox that could be used principally for ‘cruising’ use. The Cowon S9 fit the bill perfectly. It plays both flac and mp3’s adroitly. The music and playlist transition from Slimserver to the Cowon S9 was easy and seamless.

Squeezebox Touch will not work at all with the same RELATIVE m3u playlists from your Slimserver! This issue …and… how to do a relatively easy and straightforward workaround are described below.

Squeezebox Touch and How To Easily Convert Slimserver Playlists To Work in Touch

Even though the Cowon S9 is a darn good player I wanted a more audiophile streaming player for home living room use. I did not want my home office computer running all the time as a music server. Hence, the E-bay search for a used Touch unit.

While I easily transferred my Slimserver Music files to a stand-alone 64-gig USB drive, the rest did not go smoothly. I stored the Slimserver playlist files in their own separate folder on the USB stick. When the transferred playlists in the Touch were clicked, they were all reported as ‘empty’. The Touch was simply looking in the wrong place as it needs ABSOLUTE file paths.

Shown in the first two groups below are the differences between the Slimserver playlist and a Touch-created playlist file:

A. Original Slimserver Playlist File (uses Relative Addressing)

#EXTM3U

#EXTINF:192,Lola Albright - Two Sleepy People

01 - Lola Albright - Two Sleepy People.flac

#EXTINF:203,Lola Albright - Dreamsville

02 - Lola Albright - Dreamsville.flac

As you can see, the above Slimserver Relative-addressed playlists (m3u) files are simple and easy to read.

Simple and easy to understand.

B. Same Playlist File Made inside the Squeezebox Touch (which uses Absolute Addressing)

#CURTRACK 0

#EXTM3U

#EXTURL:file:///media/sda1/Music/Lola%20Albright/Dreamsville/01%20-%20Lola%20Albright%20-%20Two%20Sleepy%20People.flac

#EXTINF:192,Two Sleepy People

/media/sda1/Music/Lola Albright/Dreamsville/01 - Lola Albright - Two Sleepy People.flac

#EXTURL:file:///media/sda1/Music/Lola%20Albright/Dreamsville/02%20-%20Lola%20Albright%20-%20Dreamsville.flac

#EXTINF:203,Dreamsville

/media/sda1/Music/Lola Albright/Dreamsville/02 - Lola Albright - Dreamsville.flac

In contrast, the Touch generated playlist is a complex mess. “#CURTRACK 0” seems to be an added convention telling Touch where to start if the playlist was interrupted.

The only real m3u playlist convention seems to be that the first line of an m3u playlist must be

“#EXTM3U” and that the first line of any track something like…

“#EXTINF:192,Two Sleepy People” where the number is the track’s playing time in seconds followed by the song name; and…

the next line tells the player the ABSOLUTE address of where to find the file as in…
/media/sda1/Music/Lola Albright/Dreamsville/01 - Lola Albright - Two Sleepy People.flac

The whole preceding line… #EXTURL:file:///media/sda1/Music/Lola%20Albright/etc. is simply a song location in URL language where the “%20” are url-speak for a space. Perhaps, this is needed if Touch acts as a server which I don’t need or want.

Thus, the exercise now becomes how to convert the file location from RELATIVE to ABSOLUTE …and… what can be safely left out and still have a workable m3u playlist as far as the Touch is concerned.

Fortunately, there is a highly useful, free software that can greatly help as shown in the next playlist below..

C. Same Playlist File using listFix() Software (using Absolute Addressing)

#EXTM3U

#EXTINF:192,Lola Albright - Two Sleepy People

M:\buss\Music\Lola Albright\Dreamsville\01 - Lola Albright - Two Sleepy People.flac

#EXTINF:203,Lola Albright - Dreamsville

M:\buss\Music\Lola Albright\Dreamsville\02 - Lola Albright - Dreamsville.flac

This software is called “listFix()” V2.2.0 at SourceForge.net. Simply Google it. listFix() is a free, open source program to readily and instantly fix broken playlist programs. Moreover, the playlist results can be either Relative or Absolute track addresses. You can also: make new playlists, add playlists, reorder tracks within a playlist by dragging. Thus, it also makes an excellent editor.

To use the program most effectively, you need to:

1. Drag the Slimserver playlist files that you want to transfer to Touch to a new playlist folder and make a back-up to work on.

2. Open listFix() and use ‘Set’ under its upper left window to select the work playlist folder. While doing this, set to ‘Windows’ and make sure the other boxes are unchecked, particularly the ‘Save playlists with relative file references:’ box.

3. Then, under the bottom left window, use ‘Set’ to tell listFix know where the Music folder is located. Preferably this will be a back-up Music folder (directory) although it will not be disturbed or changed. In the above example, the Music folder (directory) was placed inside a top level folder (directory) called “buss”.

4. For each individual playlist in the left upper window, double click. This will open in the right hand window. Then, click on the Magic Wand that says ‘Fix Everything’. The right hand window will then convert the repaired playlist file to ABSOLUTE file addresses. Then save that repaired playlist by clicking on the ‘Floppy Disk’ drive symbol above the right hand window. Continue through the playlists until all of them have been repaired and re-saved.

D. Final Playlist File using Notepad’s “Search and Replace” to make Touch Directory (uses Touch File Folders Absolute Addressing)

#EXTM3U

#EXTINF:192,Lola Albright - Two Sleepy People

M:\media\sda1\Music\Lola Albright\Dreamsville\01 - Lola Albright - Two Sleepy People.flac

#EXTINF:203,Lola Albright - Dreamsville

M:\media\sda1\Music\Lola Albright\Dreamsville\02 - Lola Albright - Dreamsville.flac

If you look carefully at earlier B. list, you will see that Touch wants the file location created by it for the Music to be at “/media/sda1/Music/”.

Thus, to make the playlists in C. operable in Touch’s absolute addressing, you need to open each playlist file in Notepad, a window’s text editor. Then use the “Search and Replace” to automatically search for “M:\buss\Music\” and replace it with “M:\media\sda1\Music\” [of course without the quotes (“) in both the search and replace strings. Note the slash direction and keep it as shown in this paragraph!

The ‘search and replace’ results in a new time on the resulting saved playlist. A good tip is to look at all the playlists file times when you think you are finally done. If one is considerably different, you probably forgot to fix that one.

An Alternate to The Last (Search and Replace) Step

An alternate to the ‘search and replace’ step is to simply put the Music folder where Touch expects to find it before running “listFix()” to create new ABSOLUTE addresses! To do this you would need to make the following directory structure:
Hard Drive [that is where your Music folder is in …or… which has enough space that you can drag the

Music folder to it].

media [create this as new 1st level folder (directory) in the hard drive]

sda1 [create this as a new 2nd level folder (directory) that is inside the ‘media’ folder. That’s

sda(one) not sda(eeL)!]

Music (drag or copy or make the ‘Music’ folder (directory) inside the ‘sda1’ folder.

Then, the folder structure that Touch expects to see will then actually exist in the file path to Music as seen by listFix(). Thus, no ‘Search and Replace’ operation will be needed. Even if you are confident about moving or copying your Music directory and its contents around, make a back-up copy of Music and its entire contents first.

This fix assumes that there is nothing special about the “M:” drive in the absolute Touch file path. There is obviously no M drive in the Touch. With this fix: loading a 100 song playlist takes is 22 seconds; playing the first selected song takes a further 5 seconds. After that, playing on the Touch is virtually instantaneous. In contrast, all of these operations are essentially instantaneous in the Cowon S9; and, for that matter on Slimserver!

Untested is if the “M:” portion is actually needed or if it would still work and perhaps load faster if removed …or… what would happen if the “\” were replaced with “/”. I simply quit when I found a fix that worked. If you decide to test any of these types of things, could you post a comment as to what resulted.

Regards,

Dick

Attached Images

  

Attached Images

HowToFixSlimserverPlaylistsForTouch MoreDetailed.pdf
(317.7 KB)

Show more