Amarok/Proposals/Queue

From KDE Community Wiki

Fundamental Queue Concept

The Queue is be a direct representation of upcoming, current and past plays. Tracks play sequentially like they are listed.

Benefits for the users

  • The concept of the Queue is a very simple one with a direct 1 to 1 relation between view and plays.
  • Meta::Playlist editing and queueing are completely separated without confusion.
  • More functionality.
  • Features are in obvious places.
  • Simple, queue only use, will make the interface less clustered, which looks better on first impression.

Benefits for the developers

  • Cleaner codebase.
  • Clear design.
  • Use cases for both Queue and playlist widgets are well defined.
  • Features don't clash with each other in PlaylistModel.

Steps to implement

  1. Move Queue and playback features out of PlaylistModel to QueueModel.
  2. Remove TrackNavigator, the queue only has row++.
  3. Replace PlaylistView with QueueView, same grouping and searching features.
  4. Add another PlaylistView in the form of a context plasmoid using current Playlist ListView.
  5. Add a second playlist plasmoid with columns (spreadsheet style from 1.4).