Playlists

Features

Add to Playlist

  • Users interact with Tracks by Adding them individually to a Playlist.
  • The Playlist may or may not exist when attempting to invoke the feature.
  • Where the Playlist does exist, User Adds it to an existing playlist by selecting from a dropdown prepopulated with the User's existing Playlists.
  • Where a desired Playlist doesn't exist, the User adds a new text descriptor, automatically selecting it from the list for that Track, updating other such dropdowns on the page to contain that option.
  • A Track may exist in more than one Playlist, which is also indicated and made available in the UI.
  • One may Remove a Track from a Playlist through a similar interaction.

Playlists

  • Users may browse to a site section called Playlists, wherein their various Playlists are listed.
  • Selecting or expanding each shows all Tracks on that Playlist.
  • Tracks can be reordered here in place.
  • At any time, a User may navigate to a Playlist and choose to Play it in place on the site.
  • Users can add notes to each song and rate songs based on their preferences.
  • Users may Share their playlists with others in an open fashion, making them available for others to use and interact with.
  • Users can select and download any or all of the tracks on their playlist

Reference

Potential components or solutions

  • XSPF Playlist - XSPF Playlist generates a playlist file in the standard XSPF format from files that are attached to a piece of content. XSPF files are used by audio and video players to present playlists.
  • Playlist - This module makes use of the playlist.module API. It is a simple node module that defines a new playlist node type called "audio playlist".
  • Audio - The audio module allows users with proper permissions to upload audio files into drupal. Each audio item is created as its own individual audio node.
  • Flag - Using this module, the site administrator can provide any number of flags for nodes, comments, or users. Some possibilities include bookmarks, marking important, friends, or flag as offensive. With extensive views integration, you can create custom lists of popular content or keep tabs on important content.
  • Flag Weights - adds a 'weight' field to the tables already used by the Flag module.
  • Nodequeue - allows users to collect nodes in an arbitrarily ordered list.
  • DraggableViews - DraggableViews makes rows of a view "draggable" which means that they can be rearranged by Drag'n'Drop.