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