Juk: Difference between revisions
m (→TODO/Wishlist) |
(update IRC and git repo) |
||
(27 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
JuK is a lightweight music organizer and player. | JuK is a lightweight music organizer and player. | ||
__TOC__ | |||
It is in git: | If you want to do something, please talk with mpyne or sandsmark on IRC (in the #kde-multimedia channel on Libera Chat). | ||
It is in git: https://invent.kde.org/multimedia/juk | |||
==TODO/Wishlist== | ==TODO/Wishlist== | ||
Line 9: | Line 11: | ||
* CD playback. | * CD playback. | ||
* Clickable items in playlists (like the clickable on currently playing item, only for all items in list). | * 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. | * Mobile device synchronization. | ||
* QML/mobile interface. | * 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== | ==Porting plan== | ||
Because of JuK's architecture, it's more of a partial rewrite, but whatever. | |||
* '''done''' Move stuff around so it's more logically organized. | * '''done''' Move stuff around so it's more logically organized. | ||
* '''done''' Make Playlist not depend on K3ListView. | * '''done''' Make Playlist not depend on K3ListView. | ||
* '''done''' Make the playlist subclasses not depend on k3listview. | * '''done''' Make the playlist subclasses not depend on k3listview. | ||
* '''done''' Make a custom QHeaderView | |||
* '''done''' Sorting | |||
* Port PlaylistBox and TrackPickerDialog away from K3ListView. | |||
* Move view functionality commented out from playlist class into custom qlistview class. | * 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 (QModelIndexList getAlbum/getArtist or something) in Playlist | |||
* Remove PlaylistInterface class in favour of plain old QObject signals and slots. | * Remove PlaylistInterface class in favour of plain old QObject signals and slots. | ||
* Store just PlaylistItem::Datas in the Playlist. | * '''done''' Store just PlaylistItem::Datas in the Playlist, drop PlaylistItem. | ||
** '''done''' Move TrackSequenceManager away from PlaylistItem | |||
*** reimplement random stuff without the playlistsearch stuff | |||
** '''done''' Find other classes that use PlaylistItem | |||
** '''done''' Port everything to use Playlist directly | |||
** '''done''' Nuke createItem | |||
*** Move file scanning to playlistcollection or something | |||
* '''done''' Nuke setPlaying | |||
* Singleton history/upcoming playlist | |||
* Make TrackSequenceManager use proxy model | |||
This is being done in the ''nokde3'' branch in git. | This is being done in the [http://quickgit.kde.org/index.php?p=juk.git&a=shortlog&h=refs/heads/nokde3 '''nokde3'''] branch in git. |
Latest revision as of 20:04, 18 June 2021
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 Libera Chat).
It is in git: https://invent.kde.org/multimedia/juk
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
Because of JuK's architecture, it's more of a partial rewrite, but whatever.
- 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
- done 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 (QModelIndexList getAlbum/getArtist or something) in Playlist
- Remove PlaylistInterface class in favour of plain old QObject signals and slots.
- done Store just PlaylistItem::Datas in the Playlist, drop PlaylistItem.
- done Move TrackSequenceManager away from PlaylistItem
- reimplement random stuff without the playlistsearch stuff
- done Find other classes that use PlaylistItem
- done Port everything to use Playlist directly
- done Nuke createItem
- Move file scanning to playlistcollection or something
- done Move TrackSequenceManager away from PlaylistItem
- done Nuke setPlaying
- Singleton history/upcoming playlist
- Make TrackSequenceManager use proxy model
This is being done in the nokde3 branch in git.