aboutsummaryrefslogblamecommitdiffstats
path: root/TODO
blob: 7b96497c6ea7708b91f322e26825be5565b9796f (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12

                                                                                                             

                                                                                                                                                            




                                                                                                                                               
                                                                                                                                     
1) non-blocking (for other clients) update
	a) have two commands, one that blocks and returns updated info and another command that doesn't block
	b) allow incremental updating, either a directory recursively or a specific song
	c) fork on update
	d) have a special case where if a update is in a command list, it only forks at the beginning of the list, and writes at the end of the command list
	e) add an element to status stating the "update state"
	f) before a fork, the parent gets the position at the end of the db file
	g) update child will dump changes to end of db file, this can effectively be a journal
	h) parent reads changes at end of db file when update child is done
	i) when mpd exits, dump the current db to the file, this will erase an journal entries
	j) if there are journal entries on mpd start up, read the changes, then dump the entired db back to disk, and elimanate journal entries


2) rewrite interface stuff, specifically command list handling etc so its less of a hack and deals with the above update stuff better