Smarter Playlists update

Hey Smarter Playlist fans. I just pushed out an update for Smarter Playlists.  Here’s what’s new:

Improved Component interaction – perhaps the biggest FAQ I’ve had for Smarter Playlists is how to interact with components – how to connect them, disconnect them, delete them and so on.   I’ve made some improvements so hopefully this will be less of a confusing topic for new users.  Now when you click on two components, you will get a message describing the types of connections you can make that includes buttons that you can click on to make the connections. No more ‘shift-space’ to connect messiness.

2016-01-18 at 10.42 AM

Added powerful Mixer component.  – a common use case for Smarter Playlists is to build a playlist sequence from a number of different sources while enforcing a set of rules on the sequence (such as no duplicate songs, no adjacent artists, removing my banned songs and my banned artists).  All of these functions have been a part of Smarter Playlists but using them in concert was difficult – any post filtering was bound to mess up the carefully sequenced set of tracks.  The Mixer component is designed for just this use case.  I’ll write up a full post on the Mixer in another blog post. Suffice it to say that the Mixer component gives you much more control about how tracks from different sources are ordered and combined.

Added the Date Filter Component – This component will filter the input stream and only pass through tracks that have a release date within the specified range.

Increased saved playlist maximum size – The maximum number of songs that can be added to a playlist has been increased from 200 to 1,000.

Added more refined component categories – There are now 7 different kinds of components:

  • Sources –  these components generate tracks
  • Combiners – these components combine tracks from multiple sources
  • Orderers – these components put tracks in order
  • Selectors – these components select certain tracks from the stream (i.e. the first 10, the last 10)
  • Filters –  these components filter the stream of tracks based upon attributes of the tracks
  • Conditionals – these components modify the stream of tracks based upon external signals such as the day of the week
  • Miscs – components that don’t fit into any other category

That’s quite a bit of new stuff, but most of the work was behind the scenes getting the system robust enough to move out of alpha mode. This includes generating periodic snapshots of the program database, adding more admin tools to make it easier to support the app (such as a message of the day).

What’s next?

I’ve been getting lots of good suggestions for improvements to Smarter Playlists.  Here’s what’s on the Coming Soon list.

  • Filter playlists by time added
  • Add better range documentation and checking component value parameters
  • Add more docs on how to debug a Smarter Playlist

Thanks for the ideas and keep them coming.

  1. #1 by Jorn on January 24, 2016 - 9:07 am

    I was looking for a way to filter tracks by track length, not to be mistaken by the “No longer than / No shorter than”-filters, because these filter only the total length of a collection of tracks. For instance: Each track shouldn’t be longer / shorter than x minutes. Is that possible?

    • #2 by Paul on February 13, 2016 - 11:39 am

      yes, use a ‘range filter’ and use ‘duration’ as the attribute to filter on and then set min_value and max_value to the range in seconds that you are looking for

      • #3 by Jorn Innemee on March 4, 2016 - 6:46 pm

        Tnx Paul! Exciting stuff!

        I also discovered what seems like a bug: When the program runs into a local track that doesn’t exist in the Spotify database, it stops reading any further down the playlist and proceeds with only the tracks found before running into the local track. So for example, if the second track in my original playlist (without any sorting option selected in Spotify) is a local track, the program will process only one track: the first one. Is there a way around that?

        Keep up the good work!

%d bloggers like this: