SlimServer Playlist Manager Plugin

 

Purpose

 

This plugin has been written specifically for my needs.  I was finding music that was incorrectly tagged or didn’t play properly whilst playing random tracks.  I needed a simple mechanism to record these whilst I was at a Squeezebox, such that when I returned to the PC, I could look through the list and correct the tracks.

 

To achieve this, I was using the in-built Slimserver “Zap” facility, which adds the selected track to a playlist called “Zapped”, and then removes the track from the current playlist.  My plugin enhances the facility using pre-configured playlists.

 

I also wanted a way to add tracks to my morning alarm playlist, without having to load the playlist (losing the current playlist) and then add tracks to it and save it.

 

The long-term goal is to provide new options for adding single selected tracks, albums, or artists from any Squeezebox list to a selected playlist, to provide an easier mechanism to manage playlists directly from the SqueezeBox user interface.

 

It also contains the functionality of the “Save Playlist” plugin as an option within the Playlist Manager menu, so that plugin can be disabled within SlimServer.  The reason for this is that the Save Playlist plugin automatically associates itself with the “Play.hold” remote key.  I wanted to free this association up, as I use this key to invoke the “Song Scannerplugin (written by KDF, available from his SlimServer Toys website).

 

Installation Instructions

 

Download the relevant version of the plugin below.

Extract the content to your slimserver plugins folder.

Restart slimserver.

Ensure the plugin is enabled in server settings -> plugin.

 

Usage Instructions

 

The plugin currently only allows a track to be selected from the current playlist (aka. the “Now Playing” list).  Navigate to the Now Playing list, and navigate up/down to select a track.

 

Invoke the plugin by holding down the Add button on the remote until the Playlist Manager menu pops up.

 

The functions that are available from this menu are:

 

Add Track To…

 

This menu allows you to select a playlist to add the currently selected track to.  Select the “Add Track To …” option and then select the playlist you want.

 

There are 3 hard-coded quick-access playlist names – “Bad Music”, “Bad Tags” and “Morning Alarm”.  It is possible to amend these playlist names by editing the plugin code.  These playlist names will be configurable in a future version.

It is also possible to select from a list of all playlists that have been saved into the music library, or to save to a new playlist.

 

The track will be added to the end of the chosen playlist.  If the playlist doesn’t yet exist (or has been deleted), it is created.

 

Zap track

 

This allows you to access the original slimserver functionality that was bound to the add.hold button action.

 

Save Current Playlist

 

This duplicates the functionality of the “Save Playlist” plugin (it was a copy of that code), which is an official SlimServer plugin.  You can disable/remove the Save Playlist plugin if you always access the feature through my plugin instead.

 

 

Customising the Remote Functions

 

One of the known problems is that the plugin tries to assign the add.hold button action to invoke the plugin, but this doesn’t necessarily work if another plugin also wants to customise remote control actions.

 

One workaround is to customise the remote control functions via a slimserver custom IR map file.

 

Inside your slimserver installation folder go to .\server\IR\, and create a file called custom.map.

 

Inside the file, enter:

 

[playlist]

add.single         = add

add.hold           = addmenu

 

Then, from the web UI, go to your player settings -> Remote and select Custom from the Remote Button Functions drop down list.

 

These definitions will override the standard remote control functions (any commands not specified will use the standard functionality).

 

addmenu is the PlaylistMan menu.  This replaces the standard "zap" command.  You can swap the .single and .hold functions over if you like.

 

Known Problems

 

There's some known problems:

 

 

Future Enhancements

 

The following are planned:

 

 

If anyone has any suggestions that would make the plugin more useable for their needs, please post your thoughts to the Plugin slimserver mailing list/forum.

 

Alternatively, contact me.

 

 

History

 

Version 3.0

Converted to work only with SqueezeCenter7.0.

Minor changes to tidy source code; added more language strings.

Version 2.1

Fix to use currently selected track rather than currently playing track.

I have only tested this with Slimserver version 6.5.1.

Version 2.0

Slimserver version 6.5 only.

Can save a selected track to any playlist.

Can save a selected track to a new playlist.

Version 1.0

Initial version – pre-Slimserver version 6.5.