Juk: Difference between revisions
Appearance
→Porting plan: die playlistsearch, die |
update IRC and git repo |
||
(9 intermediate revisions by one other user not shown) | |||
Line 3: | Line 3: | ||
__TOC__ | __TOC__ | ||
If you want to do something, please talk with mpyne or sandsmark on IRC (in the #kde-multimedia channel on | 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: | It is in git: https://invent.kde.org/multimedia/juk | ||
==TODO/Wishlist== | ==TODO/Wishlist== | ||
Line 23: | Line 23: | ||
==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''' Make a custom QHeaderView | ||
* Sorting | * '''done''' Sorting | ||
* Port PlaylistBox and TrackPickerDialog away from K3ListView. | * 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. | * 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 | ** 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, drop PlaylistItem. | * '''done''' Store just PlaylistItem::Datas in the Playlist, drop PlaylistItem. | ||
** Move TrackSequenceManager away from PlaylistItem | ** '''done''' Move TrackSequenceManager away from PlaylistItem | ||
** Find other classes that use PlaylistItem | *** reimplement random stuff without the playlistsearch stuff | ||
** Port everything to use Playlist directly | ** '''done''' Find other classes that use PlaylistItem | ||
** Nuke createItem | ** '''done''' Port everything to use Playlist directly | ||
** '''done''' Nuke createItem | |||
*** Move file scanning to playlistcollection or something | *** Move file scanning to playlistcollection or something | ||
* Nuke setPlaying | * '''done''' Nuke setPlaying | ||
* Singleton history playlist | * 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.