aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 28789239e9b23e81f98e2b312941bf83cf35f74a (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
0.12
----
*) rewrite search, find, locate to tag LocateTagItem pairs

*) rewrite filename handling
	*) use memory more efficiently, by iteratively constructing filename
	*) create a function for creating directory names:
		*) when creating the string, check that the same directory
		 	string wasn't just created (store last Directory * ptr)
		*) this should be very fast! and save memory
		*) static char * buffer, that only grows in size during life 
				span
		*) implement like:
			static char * buffer = NULL;
			static int bufferSize = 0;
			static int lastDirectory * last = NULL;
			static int pos;

			if(last == thisOne) return buffer[pos];
		
			pos = bufferSIze;
			for(parentDir; !rootDir; parent = parent->parent) {
				pos -= strlen(parent);
				if(pos < 0) i{
					realloc(-pos bytes);
					pos = 0;
				}
				/* we don't want to append a '\0', so use
					strncpy */
				strncpy(buffer[pos], parent, strlen(parent));
			}

			return buffer;

*) implement listener socket protocol as documented here:
	http://www.musicpd.org/wiki/moin.cgi/MpdListenerProtocol

*) add support for coverart using freedesktop standard for icons/images

*) rewrite saved playlist code
	*) abstract out saved playlists from playlist.c
	*) command for displaying playlist contents
	*) command for appending to playlist
	*) new commands
		*) clear <playlist> /* synonym for rm */
		*) add <playlist> <path>
		*) playlist <playlist> /* displays saved playlist */
		*) replace <playlist> /* replace current playlist
						with saved playlist and
						keep playing */

*) state
	*) abstract out state code from playlist.c
	*) save states of audioOutput devices
	*) put MPD Version in statefile

*) add command for inserting songs in a specific position

*) put more debugging info when failing to read/write db and other similar 
	errors

*) make libao optional during configure, but check that some form of audioOutput
	is enabled (either oss, shout, or ao)

*) Fix id3v1 encoding

*) Cleanup Config File Code

*) Optimize read() on clients

*) Handle mp1 and mp2 files (including mp2's that are disguised as mp3's with 
	a mp3 suffix)

0.13
----
*) support for dynamically loading plugins