Contents

Use Cases

This is a proposal for extending Muine to implement the following use cases:

  1. The user wants to play random songs
  2. The user wants to play random albums
  3. The user wants to play random songs of a certain kind
  4. The user wants to play random albums of a certain kind
  5. The user wants to see all single songs, recently added songs, never played songs, most popular songs, etc
  6. The user wants to browse music by genre
  7. The user wants to randomize the current playlist
  8. The user wants to be able to manually categorise their music
  9. The user wants intelligent random playback; playing popular songs more than less popular ones

Proposed Extensions

This would be achieved by extending Muine in the following ways:

  • Implementing music grouping: allowing the user to manually create their own groups, and including a number of predefined groups, including all genres in the user's music collection. This, together with the next item, solves use cases 5, 6 and 8
  • Extending the "Play album" and "Play song" dialogs to allow filtering by music group.
  • Implementing what I call playlist filling. This is the process of keeping the playlist filled with an arbitrary number of songs at all times, from a selected number of music groups. This process would use intelligent random selection methods. This solves use cases 1 - 4.
  • In order to encourage people to use groups, we will not include a direct shuffle/randomize feature (which would solve case 7).

Implementation Details

The specific implemention of all this could look like this:

  • The creation of a built-in "New songs" group which contains all songs that are new in the user's collection, where the definition of new is added within the last week.
  • The creation of groups for the genres that are currently in use in the user's music collection. If a song is added with an unknown genre, a new group is created. If no song with the genre "Rock" currently exists, the user can create a group called "Rock". Then adding songs with the genre "Rock" will add them to that group. This saves having to make a complicated interface for "automatic groups".
  • Dragging songs between groups, or changing assigned groups in whatever way would update the songs category/genre metadata. ID3v2 has a specific tag which is used for both category and genre, Vorbis comments only have genre, but I think we can cheat here, as to the user the groups are, in a sense, genres.
  • A File->Edit Groups menu item, which would bring up an "Edit Groups" dialog, which could look like this:
    • Group Editor
    The dialog's "Group" menu would contain "New Group" and "Remove Group" menu items. "New Group" is in the "toolbar" too, as it is frequently used. The "new songs" group is not included in the group editor, as this group is not editable. The group editor can contain both whole album and single track items.
  • Extending the "Play {Albums,Songs}" dialogs with a music group dropdown (including "All music", "Uncategorized" and "Remote"). The dialog should always open having "All music" selected, but we could instead of showing the first n songs when no criteria are given show the most played songs. This would end up looking something like this:
    • Exnteded Play Album Dialog
    The "Properties" button is used for the song/album information stuff, see proposal #2
    Note: Even better would be having a "Details" expander which would open song/album information inline, so that one can browse songs instantly seeing all their data.
  • A Playlist->Filling... menu item, which would open a "Playlist Filling" dialog, which would look like this:
    • Playlist Filling
    It would include an "All music" item. When the playlist is being filled, the label above the playlist could look something like "Playlist (Being filled with Jazz and Rock)". Easier access to this dialog would be nice, we could do it like this, for
    • Main Window Filling Icon

Notes

This is an initial import of the original proposal found here. The import is not yet complete.

Comments

Please leave comments here, or contact the Muine develepers.