114 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 0.12
 | |
| ----
 | |
| *) data structures
 | |
| 	*) add 2-3 tree for sorted data structures
 | |
| 	*) remove changes made to linked list for TagTracker
 | |
| 
 | |
| *) input plugins
 | |
| 	*) parsing of lame tags for gapless info
 | |
| 	*) add support for playing aac streams
 | |
| 	*) implement id3v1 parser
 | |
| 	*) use libid3tag for only id3v2 tags
 | |
| 	*) add back id3v1_encoding option
 | |
| 
 | |
| *) audio output
 | |
| 	*) add support for saving and restoring audioOutput state to the 
 | |
| 		state_file
 | |
| 	(solution implemented by Qball)
 | |
| 
 | |
| *) mixer
 | |
| 	*) add sun support
 | |
| 	*) add OS X support
 | |
| 
 | |
| *) Add support for 24-bit audio
 | |
| 
 | |
| *) Add better error logging when updating the db and a file/directory isn't 
 | |
| 	added
 | |
| 
 | |
| 0.13
 | |
| ----
 | |
| 
 | |
| *) cleanup linked list code!
 | |
| 
 | |
| *) implement listener socket protocol as documented here:
 | |
| 	http://www.musicpd.org/wiki/moin.cgi/MpdListenerProtocol
 | |
| 
 | |
| *) support for dynamically loading plugins
 | |
| 	*) cleanup input plugins "API"
 | |
| 	*) cleanup output plugins "API"
 | |
| 
 | |
| *) input plugins
 | |
| 	*) Handle mp1 and mp2 files (including files with mp3 suffixes) 
 | |
| 	*) read replaygain info from id3 tag
 | |
| 
 | |
| *) add error codes for status->error
 | |
| 
 | |
| *) Cleanup Config File Code
 | |
| 
 | |
| *) audio output
 | |
| 	*) write a esd native audioOutput
 | |
| 	*) write a nas native audioOutput
 | |
| 	*) need better resampling code
 | |
| 	*) allowing "pausing" of audio output devices
 | |
| 	*) while pausing, play silence for the devices that don't support 
 | |
| 	   "pausing"
 | |
| 	*) write a sun native audioOutput
 | |
| 	*) more accurate time reporting by determing how much of audio_device
 | |
|                 buffer has been played
 | |
| 
 | |
| *) state
 | |
| 	*) abstract out state code from playlist.c
 | |
| 	*) save states of audioOutput devices
 | |
| 	*) put MPD Version in statefile
 | |
| 
 | |
| *) 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 */
 | |
| 
 | |
| *) add command for inserting songs in a specific position
 | |
| 
 | |
| 1.0
 | |
| ---
 | |
| 
 | |
| *) bug fixes
 | |
| 
 | |
| post-1.0
 | |
| ----
 | |
| 
 | |
| *) rewrite audio pipe
 | |
| 	*) use pthreads/clone
 | |
| 		*) try to constrain the use of pthread mutex's and condition's
 | |
| 			to specific output plugins
 | |
| 	*) use pull model for audio_output
 | |
| 	*) threads
 | |
| 		0) managing thread
 | |
| 			*) recieves commands
 | |
| 			*) manages state
 | |
| 			*) handles time/metadata sending
 | |
| 		1) decoding thread
 | |
| 		2) effects thread
 | |
| 			*) crossfading
 | |
| 			*) *command* resampling/conversions
 | |
| 		3) audio_output thread
 | |
| 			*) thread for each audio_output device
 | |
| 
 | |
| *) dynamic metadata
 | |
| 	*) implment by recording the ftell positions of entries
 | |
| 	*) buffer changes and flush them once every 60 seconds
 | |
| 	*) buffer changes while doing an update
 | |
| 	*) be sure to check that the metadata "header" is what we expect
 | |
| 	   before writing at the position
 | |
| 	*) add support for:
 | |
| 		*) last time played
 | |
| 		*) times played
 | |
| 		*) times skipped
 | |
| 		*) ranking
 | 
