aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 1229bc4d6d0e0e3fabb99251336c190abe90dfbe (plain) (blame)
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
1) rewrite outputBuffering
	a) rewrite outputBuffer to be nonBlocking-esqe to handle seek better
		while paused
		a) while() over sendToOutputBuffer until success or stop or
			seek and return number of bytes written
		b) means also removing conversion buffers from outputBuffer
			and moving somewhere else

2) play streams
	a) put some sort of error reporting for streaming/inputStream!
	b) fetch metadata and store in DecoderControl and pass to 
		PlayerControl
		1) eventually deal with icy-metadata
		2) parse metadata on the fly in decoders
	c) command for dealing with the changing metadata, currentsonginfo
		or something
	d) in songinfo add a metadata tag item for indicating stream

3) resampling audio for compatibility, and better gapless/crossfading
	a) use resampling from oggenc (is it fast enough for realtime?)

4) when writing combined interface for all decodes to use, be sure to add a 
common function and abstrct dealing with DecoderControl * and put
cycleLogFiles in there, so we cycleLogFiles while decoding, not just when 
decoding has stopped.

5) ACK error codes

6) cleanup main()

7) handle '\n' in filenames

8) compute average replaygain to use for non-replaygain songs

9) pid file


Post-1.0
--------
1) crosslink "list" stuff, for example, artists are crosslinked to alubms and 
vice versa, this way you can do list album artists or list artist albums, this 
will make life easier when we add genre and other metadata

2) rewrite linked list impelmentation to be more flexible
	a) remove "key" stuff
	b) allow assigning a compare function for a list