aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* state_file: save only if something has changedMax Kellermann2009-10-08
| | | | | | 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.
* output_state: no CamelCaseMax Kellermann2009-10-06
|
* Merged release 0.15.4 from branch 'v0.15.x'Max Kellermann2009-10-03
|\ | | | | | | | | | | Conflicts: NEWS configure.ac
| * decoder/ffmpeg: use the "artist" tag if "author" is not presentMax Kellermann2009-09-30
| | | | | | | | | | | | | | 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".
| * decoder/faad: skip assertion failure on large ID3 tagsMax Kellermann2009-09-30
| | | | | | | | | | | | 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.
| * decoder_buffer: added function decoder_buffer_skip()Max Kellermann2009-09-30
| |
| * input/mms: fix G_LOG_DOMAIN valueSerge Ziryukin2009-09-20
| |
| * output/osx: fix the OS X 10.6 buildPatrik Weiskircher2009-09-20
| | | | | | | | Include CoreServices/CoreServices.h.
* | command: range support for "delete"Max Kellermann2009-09-30
| |
* | playlist_edit: moved code to playlist_delete_internal()Max Kellermann2009-09-30
| |
* | Make the sidplay decoder filter configurable.Tony2009-09-28
| |
* | automatically update the database with Linux inotifyMax Kellermann2009-09-25
| | | | | | | | | | | | 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.
* | update: added missing stdbool.h includeMax Kellermann2009-09-25
| |
* | command: relax requirements for unquoted wordsMax Kellermann2009-09-25
| | | | | | | | | | | | 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.
* | command: added command "rescan"Max Kellermann2009-09-24
| | | | | | | | | | "rescan" is the same as "update", but it discards existing songs in the database.
* | configure.ac: rename HAVE_CURL to ENABLE_CURLMax Kellermann2009-09-24
| |
* | conf: handle fatal errors with GErrorMax Kellermann2009-09-24
| | | | | | | | | | | | | | 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.
* | conf: splitted function config_param_free()Max Kellermann2009-09-24
| |
* | cmdline: handle fatal errors with GErrorMax Kellermann2009-09-24
| | | | | | | | Don't call g_error(), which will abort the process and dump core.
* | listen: handle fatal errors with GErrorMax Kellermann2009-09-24
| | | | | | | | Don't call g_error(), which will abort the process and dump core.
* | update: splitted update.c into several sourcesMax Kellermann2009-09-24
| |
* | update: pass const string to update_enqueue()Max Kellermann2009-09-24
| | | | | | | | | | Duplicate the path string within update.c, do not expect an allocated string as parameter.
* | update: renamed directory_update_init() to update_enqueue()Max Kellermann2009-09-24
| |
* | decoder/sidplay: free songlength data blob in error handlerMax Kellermann2009-09-24
| | | | | | | | | | When parsing the songlength database fails, the code forgot to free the memory allocated by the raw file data.
* | decoder/sidplay: moved code to sidplay_load_songlength_db()Max Kellermann2009-09-24
| |
* | decoder/sidplay: free GError objectsMax Kellermann2009-09-24
| | | | | | | | | | The caller is responsible fro freeing GError objects. That g_error_free() call was missing in two places.
* | decoder/sidplay: pass GError** to g_file_get_contents()Max Kellermann2009-09-24
| | | | | | | | | | The error handler dereferences GError*, but did not retrieve that object from g_file_get_contents().
* | cmdline: removed options --create-db and --no-create-dbMax Kellermann2009-09-20
| | | | | | | | | | Both options are deprecated, and should not be used anymore. Many users get confused by their presence.
* | output/osx: fix the OS X 10.6 buildPatrik Weiskircher2009-09-20
| | | | | | | | Include CoreServices/CoreServices.h.
* | Merge branch 'v0.15.x'Max Kellermann2009-09-10
|\| | | | | | | | | | | | | Conflicts: NEWS configure.ac doc/mpdconf.example
| * decoder/vorbis: revert "faster tag scanning with ov_test_callback()"Max Kellermann2009-09-10
| | | | | | | | | | This patch made ov_time_total() unusable, and MPD did not know the duration of songs.
* | output/openal: support OpenAL plugin on Mac OS XSerge Ziryukin2009-09-07
| |
* | output/openal: fix default device nameSerge Ziryukin2009-09-06
| |
* | openal output pluginSerge Ziryukin2009-09-06
| |
* | decoder/sidplay: support seekingMike Dawson2009-08-30
| |
* | decoder/sidplay: implemented songlength databaseMike Dawson2009-08-30
| | | | | | | | [mk: added autoconf test; fixed songlen_data_size type]
* | decoder/sidplay: subtunesMike Dawson2009-08-30
| |
* | Merged release 0.15.3 from branch 'v0.15.x'Max Kellermann2009-08-30
|\| | | | | | | | | | | | | Conflicts: NEWS configure.ac
| * decoder/vorbis: faster tag scanning with ov_test_callback()Rasmus Steinke2009-08-24
| | | | | | | | | | | | | | | | | | 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.
| * update: don't re-read unchanged container filesIgor Kuzmin2009-08-19
| | | | | | | | | | | | | | 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.
| * output_init: initialize the "pause" flagMax Kellermann2009-08-18
| | | | | | | | Fix stuttering due to uninitialized variable.
* | decoder/mpg123: new decoder plugin based on libmpg123Max Kellermann2009-08-26
| | | | | | | | | | | | | | | | Still missing: - seeking - tags - streaming - encodings other than MPG123_ENC_SIGNED_16
* | command: add "findadd" command.Anton Khirnov2009-08-25
| |
* | decoder/vorbis: open file in "binary" modeGunnar Roth2009-08-25
| | | | | | | | | | fopen change for win32 in tag dup of vorbis win32 adaption for head changes
* | output/recorder: new output plugin for recording radio streamsMax Kellermann2009-08-24
| | | | | | | | | | | | | | | | | | 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.
* | conf: removed the deprecated "error_file" optionMax Kellermann2009-08-24
| | | | | | | | | | This option was deprecated by the 0.15 release. This patch makes this option invalid.
* | Merged release 0.15.2 from branch 'v0.15.x'Max Kellermann2009-08-15
|\| | | | | | | | | | | | | Conflicts: NEWS configure.ac
| * output/shout: minimize the unpause latencyMax Kellermann2009-08-14
| | | | | | | | | | During the pause loop, manually sleep for 500ms if shout_delay() returns a value greater than that. Don't exhaust libshout's buffer.
| * output: fixed shout stuck pause bugMax Kellermann2009-08-14
| | | | | | | | | | | | 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.
| * directory: free empty directories after removing them (memleak)Max Kellermann2009-08-14
| | | | | | | | | | dirvec_delete() does not free the object, we have to call directory_free() afterwards.