update: added update_global_init() and update_global_finish()
[mpd-mk/metyl.git] / TODO
blob615514cbd5db24e1a4dc5c8e8ef593f778d1b6c3
1 0.14
2 ----
4 *) data structures
5         *) remove changes made to linked list for TagTracker
7 *) input plugins
8         *) add support for playing aac streams
10 *) Add support for 24-bit audio
12 *) cleanup linked list code!
14 *) add error codes for status->error
16 *) Cleanup Config File Code
18 *) audio output
19         *) allowing "pausing" of audio output devices
20         *) while pausing, play silence for the devices that don't support
21            "pausing"
22         *) more accurate time reporting by determining how much of audio_device
23                 buffer has been played
25 *) state
26         *) abstract out state code from playlist.c
27         *) put MPD Version in statefile
29 *) add playlistreplace command (replace current playlist with saved playlist
30                                 and keep playing)
32 0.15.0
33 ------
34 *) support for dynamically loading plugins
35         *) cleanup input plugins "API"
36         *) cleanup output plugins "API"
38 *) implement listener socket protocol as documented here:
39         http://mpd.wikia.com/wiki/MusicPlayerDaemonListenerProtocol
42 ???
43 ---
44 *) mixer
45         *) add sun support
46         *) add OS X support
47 *) audio output
48         *) write a nas native audioOutput
49         *) write a sun native audioOutput
51 1.0
52 ---
54 *) bug fixes
56 post-1.0
57 --------
59 *) rewrite audio pipe
60         *) use pthreads/clone
61                 *) try to constrain the use of pthread mutex's and condition's
62                         to specific output plugins
63         *) use pull model for audio_output
64         *) threads
65                 0) managing thread
66                         *) receives commands
67                         *) manages state
68                         *) handles time/metadata sending
69                 1) decoding thread
70                 2) effects thread
71                         *) crossfading
72                         *) *command* resampling/conversions
73                 3) audio_output thread
74                         *) thread for each audio_output device
76 *) dynamic metadata
77         *) implement by recording the ftell positions of entries
78         *) buffer changes and flush them once every 60 seconds
79         *) buffer changes while doing an update
80         *) be sure to check that the metadata "header" is what we expect
81            before writing at the position
82         *) add support for:
83                 *) last time played
84                 *) times played
85                 *) times skipped
86                 *) ranking