aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-10-08state_file: save only if something has changedMax Kellermann8-0/+86
If nothing has changed since the last save, don't save the state file. Saving will spin up the hard drive, which is undesirable on hosts where MPD is idling in background.
2009-10-06output_state: no CamelCaseMax Kellermann3-6/+6
2009-09-30command: range support for "delete"Max Kellermann3-3/+38
2009-09-30playlist_edit: moved code to playlist_delete_internal()Max Kellermann1-10/+19
2009-09-30decoder/ffmpeg: use the "artist" tag if "author" is not presentMax Kellermann1-2/+5
Usually, we read our "artist" tag from ffmpeg's "author" tag. In some cases however (e.g. APE), this tag is named "artist". This patch implements a fallback: if no "author" is found, MPD tries to use "artist".
2009-09-30decoder/faad: skip assertion failure on large ID3 tagsMax Kellermann1-2/+6
When the ID3 tag in an AAC file is larger than the current buffer, the function decoder_buffer_consume() aborts. By using the new function decoder_buffer_skip() instead, we can safely skip the ID3 tag.
2009-09-30decoder_buffer: added function decoder_buffer_skip()Max Kellermann2-0/+36
2009-09-28Make the sidplay decoder filter configurable.Tony1-1/+5
2009-09-25automatically update the database with Linux inotifyMax Kellermann7-0/+792
This patch implements a light-weight inotify library, and watches all directories below the music directory. It updates all directories where files changed after a delay of 5 seconds.
2009-09-25update: added missing stdbool.h includeMax Kellermann1-0/+2
2009-09-25command: relax requirements for unquoted wordsMax Kellermann3-6/+75
Allow most printable characters in unquoted words. The tokenizer patch introduced very strict requirements for command parameters - those were undocumented, and we're reverting the strictness now.
2009-09-24command: added command "rescan"Max Kellermann7-27/+67
"rescan" is the same as "update", but it discards existing songs in the database.
2009-09-24configure.ac: rename HAVE_CURL to ENABLE_CURLMax Kellermann2-3/+3
2009-09-24conf: handle fatal errors with GErrorMax Kellermann3-54/+115
Don't call g_error(), which will abort the process and dump core. This patch does not affect all the config_get_X() functions. These need some more refactoring.
2009-09-24conf: splitted function config_param_free()Max Kellermann1-4/+11
2009-09-24cmdline: handle fatal errors with GErrorMax Kellermann3-5/+30
Don't call g_error(), which will abort the process and dump core.
2009-09-24listen: handle fatal errors with GErrorMax Kellermann3-10/+29
Don't call g_error(), which will abort the process and dump core.
2009-09-24update: splitted update.c into several sourcesMax Kellermann5-770/+987
2009-09-24update: pass const string to update_enqueue()Max Kellermann3-14/+20
Duplicate the path string within update.c, do not expect an allocated string as parameter.
2009-09-24update: renamed directory_update_init() to update_enqueue()Max Kellermann4-4/+4
2009-09-24decoder/sidplay: free songlength data blob in error handlerMax Kellermann1-3/+4
When parsing the songlength database fails, the code forgot to free the memory allocated by the raw file data.
2009-09-24decoder/sidplay: moved code to sidplay_load_songlength_db()Max Kellermann1-29/+36
2009-09-24decoder/sidplay: free GError objectsMax Kellermann1-0/+2
The caller is responsible fro freeing GError objects. That g_error_free() call was missing in two places.
2009-09-24decoder/sidplay: pass GError** to g_file_get_contents()Max Kellermann1-1/+2
The error handler dereferences GError*, but did not retrieve that object from g_file_get_contents().
2009-09-20cmdline: removed options --create-db and --no-create-dbMax Kellermann3-27/+5
Both options are deprecated, and should not be used anymore. Many users get confused by their presence.
2009-09-20output/osx: fix the OS X 10.6 buildPatrik Weiskircher1-0/+1
Include CoreServices/CoreServices.h.
2009-09-20input/mms: fix G_LOG_DOMAIN valueSerge Ziryukin1-1/+1
2009-09-20output/osx: fix the OS X 10.6 buildPatrik Weiskircher1-0/+1
Include CoreServices/CoreServices.h.
2009-09-10decoder/vorbis: revert "faster tag scanning with ov_test_callback()"Max Kellermann1-1/+1
This patch made ov_time_total() unusable, and MPD did not know the duration of songs.
2009-09-07output/openal: support OpenAL plugin on Mac OS XSerge Ziryukin1-0/+6
2009-09-06output/openal: fix default device nameSerge Ziryukin1-3/+3
2009-09-06openal output pluginSerge Ziryukin2-0/+271
2009-08-30decoder/sidplay: support seekingMike Dawson1-3/+34
2009-08-30decoder/sidplay: implemented songlength databaseMike Dawson1-0/+87
[mk: added autoconf test; fixed songlen_data_size type]
2009-08-30decoder/sidplay: subtunesMike Dawson1-8/+125
2009-08-26decoder/mpg123: new decoder plugin based on libmpg123Max Kellermann2-0/+214
Still missing: - seeking - tags - streaming - encodings other than MPG123_ENC_SIGNED_16
2009-08-25command: add "findadd" command.Anton Khirnov3-0/+51
2009-08-25decoder/vorbis: open file in "binary" modeGunnar Roth1-1/+1
fopen change for win32 in tag dup of vorbis win32 adaption for head changes
2009-08-24decoder/vorbis: faster tag scanning with ov_test_callback()Rasmus Steinke1-1/+1
using ov_test_callback with function CALLBACKS_STREAMONLY will cause scanning to stop after the comment field. ov_open (and ov_test) default to CALLBACKS_DEFAULT which scans the file structure causing a huge slowdown. The speed improvement is huge: It scanned my files around 10x faster This procedure has been recommended by monthy (main vorbis developer) and was said to be safe for scanning files.
2009-08-24output/recorder: new output plugin for recording radio streamsMax Kellermann2-0/+218
The recorder plugin writes audio played by MPD to a file. This may be useful for recording radio streams. This implementation is incomplete, because support for tags is missing, and MPD should be able to record each track to a different file.
2009-08-24conf: removed the deprecated "error_file" optionMax Kellermann2-2/+0
This option was deprecated by the 0.15 release. This patch makes this option invalid.
2009-08-19update: don't re-read unchanged container filesIgor Kuzmin1-1/+2
MPD checks if every flac (possibly other types as well) file contains cuesheet on every update, which produces unneeded I/O. My music collection is on NFS share, so it's quite noticeable. IMHO, it shouldn't re-read unchanged files, so I wrote simple patch to fix it.
2009-08-18output_init: initialize the "pause" flagMax Kellermann1-0/+1
Fix stuttering due to uninitialized variable.
2009-08-14output/shout: minimize the unpause latencyMax Kellermann1-0/+7
During the pause loop, manually sleep for 500ms if shout_delay() returns a value greater than that. Don't exhaust libshout's buffer.
2009-08-14output: fixed shout stuck pause bugMax Kellermann3-0/+20
Explicitly make the output thread leave the ao_pause() loop. This patch is a workaround, and the "pause" flag is not managed in a thread-safe way, but that's good enough for now.
2009-08-14directory: free empty directories after removing them (memleak)Max Kellermann1-3/+8
dirvec_delete() does not free the object, we have to call directory_free() afterwards.
2009-08-14update: free temporary string in container scan (memleak)Max Kellermann1-2/+6
The return value of map_directory_child_fs() must be freed.
2009-08-14decoder/flac: don't allocate cuesheet twice (memleak)Max Kellermann1-4/+6
The function flac_cue_track() first calls FLAC__metadata_object_new(), then overwrites this pointer with FLAC__metadata_get_cuesheet(). This allocate two FLAC__StreamMetadata objects, but the first pointer is lost, and never freed.
2009-08-14update: free empty path string (memleak)Max Kellermann1-1/+2
When you pass an empty string to directory_update_init(), it was not freed by update_task().
2009-08-13decoder_control: protect command, state with a mutexMax Kellermann6-31/+241
Replace decoder_control.notify with decoder_control.mutex and decoder_control.cond. Lock the mutex on all accesses to decoder_control.command and decoder_control.state.