/
TODO
65 lines (60 loc) · 2.81 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
v0.4
----
* speed up searches somehow (batched metadata requests?)
* handle signals from Tracker indicating a track has been added, removed, or
that a track's metadata has changed
* figure out why the progress indicator doesn't move for the first song
* fix the search pane so that it doesn't jiggle when only one result comes back
(see below for a solution)
* fix DND of multiple items from the desktop
* fix seeking w/one click
* define Actions and ActionGroups to simplify the UI code (ex: a close_window
action defined in main.ui can be referred to by all the various means of
closing the window, and only dealt with once in code)
* figure out right-click behavior (probably a subset of the application menu)
* register hum-gtk to be the default handler for audio mime types
* implement playlist clearing (probably best through a menu)
* implement playlist loading and saving
* provide a red flash or some other feedback in the background of the search
entry if no results
* provide search progress feedback in the background of the search entry
* implement add icon on search result hover
* implement tooltips over view cells, so that users can see full titles, etc.
* the properties dialog should allow for tagging and rating tracks
* more effectively organize the code
* stick the UI definition, manager, action groups, and instantiation bits
into hum_gtk_common.vala
* extract the about dialog into hum_gtk_about.vala
* extract the search/playlist view setup (including drag/drop &
[add,remove]_track_[to,from]_view ()) into hum_gtk_views.vala
* extract the signal connection into hum_gtk_signals.vala
* tie it all together (with UI instantiation, UI setup, quit(), and DBus
signal handling for hum-gtk), in hum_gtk.vala
* clean up/simplify/condense the signal & callback code
* clean up HumQueryEngine and apply some sanity to its methods and design
* more thoroughly comment all the code
v0.5
----
* paginate search results to tighten memory footprint
* implement a tray icon (separate front end?)
* stick persistent settings in GConf
* window size & position
* pane sizes
* show/hide tray icon
* implement independent volume control
* implement better shuffle
* log information to a standard location
(in ~/.local/share/hum/hum-{gtk,player}.log)
v?.?
--------
* add asynchronous search (really only useful if an empty search yields the
whole library, for performance costs, see the "paginate search results" point
above
* profile & reduce memory footprint of hum-gtk and hum-player
* investigate using DecodeBin for crossfading (what impact does this have on
playlist?)
* investigate the benefits of using a UI manager
* investigate taglib, or some alternate tag harvesting code
* investigate "collate_key()" in the sorting code
* implement a plugin interface
* implement podcast handling (Tracker RSS miner + mp3)