Dynamic Mix Plugin

 

If you find this plugin useful, and/or would like to see future enhancements, consider sending a donation.

Purpose

 

This plugin only works as an extension to Erland’s Dynamic Playlist plugin.

 

It allows you to play a constantly evolving, potentially endless, mix of songs.  It uses MusicIP to select the next song for the mix, based on the previously selected song.

 

It provides various ways for selecting the initial song (the seed for the mix), after which additional songs will be added to the current playlist based on the previously chosen song.

 

The dynamic mix settings can be configured per-player, and are used to choose the properties for the MusicIP Mix, such as Style, Variety and Filter.

 

The plugin keeps track of a number of tracks selected for previous mixes, and ensures that duplicate tracks are not played within that collection.

 

The plugin attempts to be resilient to problems selecting or playing tracks from MusicIP.  If any problems occur getting the next song to play, it will instead fall back to play a random song from the library.  This makes it more reliable to be used as the source playlist for an alarm clock.

 

Installation Instructions

 

The plugin can be installed as an extension within Squeezebox Server by accessing Settings > Plugins.  Add my plugin repository url to the list of third-party plugin sources, and then my plugins should be listed for you to choose to install from.

 

Alternatively, it can be manually installed by doing the following:

  1. Download the relevant version of the plugin.
  2. Extract the content to your SqueezeCenter server/plugins folder.
  3. Restart SqueezeCenter.
  4. Ensure the plugin is enabled in server settings -> plugin.

 

Usage Instructions

 

After restarting the Squeezebox server with the plugin installed, the first step is to choose the mix settings for a squeezebox player.

 

Go to the Web UI > Settings > Player.  Choose the desired Player, and choose Dynamic Mix player settings page.  From here, choose Style, Variety, Filter, etc, and apply the settings.

 

You are now ready to start a dynamic mix.  Go to Erlands Dynamic Playlists menu (eg. Home > My Music > Dynamic Playlists).  Within the menus, you will find the following new entries:

 

Dynamic Mix

Uses the currently playing track on the currently selected player as the starting seed.  Chooses random songs based on this seed.

This can also be chosen as the source of an alarm clock.

Dynamic Mix Album

Will prompt you to choose an album as the starting seed, or if enabled as a Dynamic Playlist Favourite, can be started as a mixer from the context of a chosen album.

Dynamic Mix Artist

Will prompt you to choose an artist as the starting seed, or if enabled as a Dynamic Playlist Favourite, can be started as a mixer from the context of a chosen artist.

Dynamic Mix Genre

Will prompt you to choose a genre as the starting seed, or if enabled as a Dynamic Playlist Favourite, can be started as a mixer from the context of a chosen genre.

Dynamic Mix Mood

Will prompt you to choose a MusciIP mood as the starting seed.  MusicIP Moods are not context-sensitive.

Dynamic Mix Track

If enabled as a Dynamic Playlist Favourite, can be started as a mixer from the context of a chosen song.

Note: It is not recommended to navigate into this dynamic playlist menu to choose from a list, as this could be a very long list of tracks (may not even work).

 

I suggest setting these Dynamic Mix playlists as favourites within Dynamic Playlist settings.  This then allows these to be chosen with Dynamic Playlists > Favourites, but more importantly they can then be used as mixes for the context that they are appropriate for (directly from an item when browsing your music collection, from the Current Playlist screen, etc).

 

It is also possible to set Dynamic Mix as a Squeezebox Server Favourite, such that it can be started from Home > Favourites > Dynamic Mix.

 

In previous versions of SBS (Squeeze Center) for classic squeezebox players, it was possible to assign an Infra-red key to a favourite, making it a very quick way to start the mix.  This is harder to do in SBS, but may be possible via manual customisation of a key map file.

 

Known Problems

 

There are some known problems:

 

  • If you try to start Dynamic Mix from an Alarm Clock, or Squeezebox Server Favourite, the plugin cannot determine if there was a previously playing song as a seed to start the mix from (because SBS/Dynamic Playlist wipes the current playlist and changes it to “dynamicplaylist: dynamic mix” before the plugin gets notified, thus the previously playing song cannot be queried).  Thus a random song will always be chosen instead.

 

Future Enhancements

 

If anyone has any enhancement requests, please post your thoughts to the Plugins SqueezeCenter mailing list/forum, or contact me directly (see below).

 

Credit

 

This plugin code was based on SugarCube by Charles Parker (http://www.spicefly.com), which is another plugin that provides similar functionality, but with some more advanced features.  SugarCube concentrates on being an independent plugin that doesn’t require any other plugins to function.

 

Contact

 

You can contact me at: phil AT hergest DOT demon DOT co DOT uk.

 

 

Download / History

 

Version 1.3

Compatibility fix for LMS, to find a random track to play if no mix tracks are returned from MusicIP.

Version 1.2

Support all player preferences in Jive players.

Version 1.1

Make plugin compatible with Slimserver version 7.5.6.

Make resilient to play random song when MusicIP is not responding.

Version 1.0

Initial version – pre-Slimserver version 6.5.