Max Kellermann 
							
						 
					 
					
						
						
							
						
						0dd2dfff9d 
					 
					
						
						
							
							main: moved the save_state timer to state_file.c  
						
						... 
						
						
						
						The state_file library should manage its own regular saves. 
						
						
					 
					
						2009-01-18 18:10:15 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						84de45afba 
					 
					
						
						
							
							state_file: added state_file_init() and state_file_finish()  
						
						... 
						
						
						
						The constructor/destructor interface should hide the functions
read_state_file() and write_state_file(). 
						
						
					 
					
						2009-01-18 18:09:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1482b22351 
					 
					
						
						
							
							state_file: include cleanup  
						
						
						
						
					 
					
						2009-01-18 17:54:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9c6b2a32f5 
					 
					
						
						
							
							conf: added config_get_path()  
						
						... 
						
						
						
						config_get_path() is an simpler interface than parseConfigFilePath(). 
						
						
					 
					
						2009-01-18 17:54:46 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a3f03f3ccd 
					 
					
						
						
							
							removed playerData.c  
						
						... 
						
						
						
						Fetch the configuration variables buffered_chunks and
buffered_before_play just when they are needed. 
						
						
					 
					
						2009-01-18 17:32:43 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						90b34f8e6f 
					 
					
						
						
							
							main: moved code to daemon.c  
						
						... 
						
						
						
						Moved changeToUser(), cleanUpPidFile(), killFromPidFile() to
daemon.c.  These are daemonization functions. 
						
						
					 
					
						2009-01-18 17:15:34 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1f0dfb4407 
					 
					
						
						
							
							mapper: make the music_directory optional  
						
						... 
						
						
						
						Without a music_directory, MPD is an excellent streaming client. 
						
						
					 
					
						2009-01-18 16:56:07 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9933144de7 
					 
					
						
						
							
							mapper: make the playlist directory optional  
						
						
						
						
					 
					
						2009-01-18 16:15:45 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c2cc3b4923 
					 
					
						
						
							
							database: pass database file name to db_init()  
						
						... 
						
						
						
						Don't include conf.h in database.c. 
						
						
					 
					
						2009-01-18 16:09:01 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						004dfddca3 
					 
					
						
						
							
							stats: use GTimer instead of time(NULL)  
						
						... 
						
						
						
						time(NULL) shows the wrong results when the machine's clock is
changed. 
						
						
					 
					
						2009-01-18 15:40:53 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						14ca99b224 
					 
					
						
						
							
							stats: use one db_walk() to obtain stats  
						
						... 
						
						
						
						Don't use dbUtils.h functions.  This reduces 4 full database walks to
just one. 
						
						
					 
					
						2009-01-18 15:40:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						91fb2a29de 
					 
					
						
						
							
							stats: added num_artists, num_albums  
						
						... 
						
						
						
						Don't recalculate the number of artists and albums each time a client
requests statistics.  Calculate that once in stats_update(). 
						
						
					 
					
						2009-01-18 15:40:28 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0d449d8df7 
					 
					
						
						
							
							stats: no CamelCase  
						
						... 
						
						
						
						Renamed functions and types. 
						
						
					 
					
						2009-01-18 15:22:26 +01:00 
						 
				 
			
				
					
						
							
							
								Avuton Olrich 
							
						 
					 
					
						
						
							
						
						e8c148ab02 
					 
					
						
						
							
							mpd version 0.14.1  
						
						
						
						
					 
					
						2009-01-18 14:08:42 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0b29a22c08 
					 
					
						
						
							
							conf: replaced getConfigParamValue() with config_get_string()  
						
						... 
						
						
						
						Don't return a writable pointer. 
						
						
					 
					
						2009-01-17 20:23:58 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7acc62366c 
					 
					
						
						
							
							conf: replaced getBoolBlockParam() with config_get_block_bool()  
						
						... 
						
						
						
						No "force" parameter, pass a default value instead. 
						
						
					 
					
						2009-01-17 20:23:56 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a1a97cc048 
					 
					
						
						
							
							conf: use config_get_bool() instead of getBoolConfigParam()  
						
						
						
						
					 
					
						2009-01-17 20:23:33 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4d472c265e 
					 
					
						
						
							
							conf: no CamelCase, part I  
						
						... 
						
						
						
						Renamed functions, types, variables. 
						
						
					 
					
						2009-01-17 20:23:27 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2bbf378dd8 
					 
					
						
						
							
							song: skip archive check for non-musicdir files  
						
						... 
						
						
						
						If a song is not within the music directory ("file:///..."), it has no
"parent directory".  The archive code nonetheless dereferences the
parent pointer, causing a segmentation fault.  Check parent!=NULL. 
						
						
					 
					
						2009-01-17 19:56:36 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7f3be96efa 
					 
					
						
						
							
							decoder_api: always notify_wait() for free chunks  
						
						... 
						
						
						
						One of the previous patches made MPD consume 100% CPU in a busy wait:
when the music_pipe was full, it did not wait (with notify_wait()) for
free chunks, because a variable has a different meaning now.  Always
pass "true" as the "wait" parameter. 
						
						
					 
					
						2009-01-17 15:23:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5395f5f6b3 
					 
					
						
						
							
							moved fallback APE/ID3 tag loader to song.c  
						
						... 
						
						
						
						Some plugins used the APE or ID3 tag loader as a fallback when their
own methods of loading tags did not work.  Move this code out of all
decoder plugins, into song_file_update(). 
						
						
					 
					
						2009-01-17 13:23:42 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						43eefe9c41 
					 
					
						
						
							
							decoder_api: pass const pointer to decoder_data()  
						
						
						
						
					 
					
						2009-01-17 13:23:12 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						356526457c 
					 
					
						
						
							
							pcm_convert: return PCM buffer from pcm_convert()  
						
						... 
						
						
						
						Removed yet another superfluous buffer layer: return the PCM buffer
from pcm_convert() instead of copying PCM data into the
caller-supplied buffer. 
						
						
					 
					
						2009-01-17 13:11:16 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e726e2a004 
					 
					
						
						
							
							music_pipe: removed music_pipe_append()  
						
						... 
						
						
						
						The function is unused, since decoder_api() uses music_pipe_write() /
music_pipe_expand() now. 
						
						
					 
					
						2009-01-17 13:11:11 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						610e79500e 
					 
					
						
						
							
							decoder_api: use music_pipe_write() instead of music_pipe_append()  
						
						... 
						
						
						
						Copy PCM data to the music_pipe_write() buffer, and apply replay gain
/ normalization to it, instead of manipulating the source buffer. 
						
						
					 
					
						2009-01-17 13:11:10 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fd948571f8 
					 
					
						
						
							
							music_pipe: added functions music_pipe_write() and music_pipe_expand()  
						
						... 
						
						
						
						This new API gives the caller a writable buffer to the music pipe
chunk.  This may allow the caller to eliminate several buffer copies,
because it may manipulate the returned buffer, until it calls
music_pipe_expand(). 
						
						
					 
					
						2009-01-17 13:09:29 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d83eff80a5 
					 
					
						
						
							
							oggvorbis: disable seeking on remote songs  
						
						... 
						
						
						
						When libvorbis knows that a song is seekable, it seeks around like
crazy in the file before starting to decode it.  This is very
expensive on remote HTTP resources, and delays MPD for 10 or 20
seconds.
This patch disables seeking on remote songs, because the advantages of
quickly playing a song seem to weigh more than the theoretical ability
of seeking for most MPD users.  If users feel this feature is needed,
we will make a configuration option for that. 
						
						
					 
					
						2009-01-17 11:46:31 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						da6f8c270a 
					 
					
						
						
							
							decoder_api: added assertion on partial frames  
						
						... 
						
						
						
						Decoder plugins must not send partial frames. 
						
						
					 
					
						2009-01-16 18:53:32 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						953b258e5e 
					 
					
						
						
							
							pcm_resample_fallback: corrected the sample calculation  
						
						... 
						
						
						
						Due to rounding errors, it was possible that the fallback resampler
returned partial frames. 
						
						
					 
					
						2009-01-16 18:52:01 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						285a741b27 
					 
					
						
						
							
							playlist: don't store getBoolConfigParam() in a bool  
						
						... 
						
						
						
						getBoolConfigParam() returns an int.  It is not possible to check for
CONF_BOOL_UNSET after it has been assigned to a bool; use a temporary
int value for that. 
						
						
					 
					
						2009-01-16 17:11:18 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2a7d99702f 
					 
					
						
						
							
							listen: explicitly include sys/socket.h  
						
						
						
						
					 
					
						2009-01-16 17:11:18 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b19a8505f4 
					 
					
						
						
							
							player_control: fix shadow warning with older gcc  
						
						... 
						
						
						
						Older gcc versions complained about shadowed parameters in prototypes. 
						
						
					 
					
						2009-01-16 17:11:18 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						106bfaa726 
					 
					
						
						
							
							oss: evaluate the oss_open() return value properly  
						
						... 
						
						
						
						It returns bool, not int. 
						
						
					 
					
						2009-01-16 17:11:18 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b12b5130c9 
					 
					
						
						
							
							mixer: check param==NULL in the alsa and oss mixer code  
						
						... 
						
						
						
						When MPD starts without audio output configuration, the "param"
variable is NULL.  This triggers a segmentation fault in both mixer
plugins. 
						
						
					 
					
						2009-01-16 17:11:18 +01:00 
						 
				 
			
				
					
						
							
							
								Qball Cow 
							
						 
					 
					
						
						
							
						
						b533307d6f 
					 
					
						
						
							
							Enable wav file streaming for ffmpeg input plugin  
						
						
						
						
					 
					
						2009-01-16 17:11:16 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c77c61bf3f 
					 
					
						
						
							
							oggvorbis: define HAVE_OGGVORBIS when tremor is enabled  
						
						... 
						
						
						
						When tremor (libvorbisidec) is used, HAVE_OGGVORBIS was not defined. 
						
						
					 
					
						2009-01-15 22:54:31 +01:00 
						 
				 
			
				
					
						
							
							
								Rasmus Steinke 
							
						 
					 
					
						
						
							
						
						3e87e4f3ab 
					 
					
						
						
							
							flac: map "Album Artist" to "AlbumArtist"  
						
						... 
						
						
						
						This patch allows mpd to recognise the albumartist tag in the way
foobar2000 and others write it to files. 
						
						
					 
					
						2009-01-15 22:45:29 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9cc373d62d 
					 
					
						
						
							
							flac: splitted flac_copy_vorbis_comment()  
						
						... 
						
						
						
						Splitted flac_copy_vorbis_comment() into flac_copy_comment() and
flac_copy_comment(). 
						
						
					 
					
						2009-01-15 22:45:28 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0dec3f787f 
					 
					
						
						
							
							flac: moved code to flac_comment_value()  
						
						... 
						
						
						
						Simplify flac_copy_vorbis_comment() by moving the comment
identification code out. 
						
						
					 
					
						2009-01-15 22:44:21 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f30adc3526 
					 
					
						
						
							
							flac: always allocate tag object  
						
						... 
						
						
						
						Free the tag object when it turns out to be empty.  This simplifies
several functions and APIs. 
						
						
					 
					
						2009-01-15 22:43:39 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ccea365494 
					 
					
						
						
							
							tag: added tag_is_defined()  
						
						... 
						
						
						
						tag_is_defined() checks whether there is any information in the tag
object. 
						
						
					 
					
						2009-01-15 22:00:26 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						15435b09af 
					 
					
						
						
							
							flac: use bool instead of int  
						
						
						
						
					 
					
						2009-01-15 19:57:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8307dd3e87 
					 
					
						
						
							
							flac: removed "vorbis_comment_found" flag  
						
						... 
						
						
						
						Use tag_is_empty() instead. 
						
						
					 
					
						2009-01-15 19:53:07 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						86dc79293f 
					 
					
						
						
							
							flac: no CamelCase  
						
						... 
						
						
						
						Renamed types, functions, variables. 
						
						
					 
					
						2009-01-15 19:50:28 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a7461dc27d 
					 
					
						
						
							
							input_curl: don't call input_curl_select() when already at EOF  
						
						... 
						
						
						
						Calling input_curl_select() after EOF has been reached causes an
assertion failure.  This can happen if the HTTP response is empty.
Check c->eof before calling input_curl_select(). 
						
						
					 
					
						2009-01-15 16:16:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f1790fc8bf 
					 
					
						
						
							
							input_curl: set "ready" flag on EOF  
						
						... 
						
						
						
						Set the "ready" flag for empty resources. 
						
						
					 
					
						2009-01-15 16:16:55 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fa3899f7b0 
					 
					
						
						
							
							input_curl: call curl_multi_info_read() in constructor  
						
						... 
						
						
						
						To check for early connect failures, call curl_multi_info_read() in
the constructor input_curl_open().  This fixes an assertion failure. 
						
						
					 
					
						2009-01-15 16:16:53 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						09e06d9416 
					 
					
						
						
							
							NEWS: merge from v0.14.x  
						
						... 
						
						
						
						Copy changelog items from the upcoming 0.14.1 release. 
						
						
					 
					
						2009-01-15 16:16:37 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						08e18f7070 
					 
					
						
						
							
							input_curl: added fallback for g_queue_clear()  
						
						... 
						
						
						
						g_queue_clear() was introduced in GLib 2.14.  Add a macro hack for
older GLib versions to emulate it. 
						
						
					 
					
						2009-01-15 09:20:01 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						29baf0c190 
					 
					
						
						
							
							log, pcm_convert: added return statements after g_error()  
						
						... 
						
						
						
						gcc doesn't know that g_error() never returns.  Work around the gcc
warning. 
						
						
					 
					
						2009-01-15 09:17:06 +01:00