Juk

From KDE Community Wiki
Revision as of 02:11, 10 October 2012 by Sandsmark (talk | contribs) (→‎Porting plan: die playlistsearch, die)

JuK is a lightweight music organizer and player.

If you want to do something, please talk with mpyne or sandsmark on IRC (in the #kde-multimedia channel on Freenode).

It is in git: http://quickgit.kde.org/index.php?p=juk.git&a=summary

TODO/Wishlist

  • Port away from k3listview (see below).
  • CD playback.
  • Clickable items in playlists (like the clickable on currently playing item, only for all items in list).
  • Visualization (yes, I want bling).
  • Mobile device synchronization.
  • QML/mobile interface.
  • Settings dialog
  • "Stop after current song"
  • Fadeout on stop
  • Port from libtunepimp to libmusicbrainz
  • Duplicate cleaning
  • Various Artist albums
  • Right click -> properties

Porting plan

  • done Move stuff around so it's more logically organized.
  • done Make Playlist not depend on K3ListView.
  • done Make the playlist subclasses not depend on k3listview.
  • done Make a custom QHeaderView
  • Sorting
  • Port PlaylistBox and TrackPickerDialog away from K3ListView.
  • Move view functionality commented out from playlist class into custom qlistview class.
  • Use a proxymodel for the search, drop the PlaylistSearch class.
    • PlaylistSearch is often used for setting stuff for an entire album/artist, rather use specialized functions in the collectionlist class for this
  • Make the search playlist types proxymodels.
  • Remove PlaylistInterface class in favour of plain old QObject signals and slots.
  • Store just PlaylistItem::Datas in the Playlist, drop PlaylistItem.
    • Move TrackSequenceManager away from PlaylistItem
    • Find other classes that use PlaylistItem
    • Port everything to use Playlist directly
    • Nuke createItem
      • Move file scanning to playlistcollection or something
  • Nuke setPlaying
  • Singleton history playlist or something

This is being done in the nokde3 branch in git.