Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ls: removed hasMusicSuffix() and get_archive_by_suffix() | Max Kellermann | 2009-01-04 | 4 | -59/+39 |
| | | | | | | | | Determine the suffix manually, and use decoder_plugin_from_suffix() and archive_plugin_from_suffix() instead. This way, song_file_update_inarchive() can be optimized: it does not have to translate its path. | ||||
* | update: moved code to update_regular_file() | Max Kellermann | 2009-01-04 | 1 | -26/+35 |
| | |||||
* | song: removed duplicate '\n' check | Max Kellermann | 2009-01-04 | 1 | -5/+2 |
| | | | | Newline characters are already checked in skip_path() (update.c). | ||||
* | ls: include cleanup | Max Kellermann | 2009-01-04 | 3 | -9/+7 |
| | | | | | Don't include headers which are not used. Fix some includes in decoder_thread.c. | ||||
* | update: moved code to directory_exists(), fix typo | Max Kellermann | 2009-01-04 | 1 | -9/+18 |
| | | | | | Reverse the condition: delete directories which don't exist anymore. This typo caused a slowdown during partial database update. | ||||
* | playlist: use uri_has_scheme() instead of isRemoteUrl() | Max Kellermann | 2009-01-04 | 3 | -14/+13 |
| | | | | | | For internal checks (i.e. not in command.c), we need to check whether an URI is in the databse, in the local file system or a remote URI with a scheme. | ||||
* | command: check URI scheme in "addid" | Max Kellermann | 2009-01-04 | 1 | -12/+22 |
| | | | | | Check if the URI scheme is supported by MPD, and print an error message if not. Optimize the checks in "add" and "playlistadd". | ||||
* | command: added variable "uri" to command handlers | Max Kellermann | 2009-01-04 | 1 | -20/+24 |
| | | | | Don't work with argv[1], give it the better name "uri". | ||||
* | configure.ac: detect libid3tag without pkg-config | Max Kellermann | 2009-01-04 | 1 | -3/+8 |
| | | | | | | libid3tag comes without a pkg-config file, and it is usually added by distribution packages. For those without .pc file, attempt to auto-detect the library with AC_CHECK_LIB. | ||||
* | player_thread: fix cross-fading duplicate chunk bug | Max Kellermann | 2009-01-04 | 2 | -0/+9 |
| | | | | | | | | When the decoder of the new song is not fast enough, the player thread has to wait for it for a moment. However the variable "nextChunk" was reset to -1 during that, making the next loop iteration assume that cross-fading has not begun yet. This patch overwrites it with "0" while waiting. | ||||
* | input_curl: enabled Icy-Metadata support | Max Kellermann | 2009-01-03 | 3 | -12/+98 |
| | |||||
* | added library for parsing icy-metadata | Max Kellermann | 2009-01-03 | 3 | -1/+275 |
| | | | | The icy_metadata will be used by the curl input_stream implementation. | ||||
* | input_stream: added tag() method | Max Kellermann | 2009-01-03 | 6 | -78/+129 |
| | | | | | The tag() method reads a tag from the stream. This replaces the meta_name and meta_title attributes. | ||||
* | tag: added function tag_merge() | Max Kellermann | 2009-01-03 | 2 | -0/+55 |
| | | | | tag_merges() merges the data from two tag objects into one. | ||||
* | decoder_api: moved code to do_send_tag(), free temporary tag | Max Kellermann | 2009-01-03 | 2 | -7/+18 |
| | | | | | | | This patch fixes a minor memory leak: when decoder_tag() attempted to send a merged tag object (created by tag_add_stream_tags()), and was interrupted by a decoder command, it did not free the temporary merged tag object. | ||||
* | tag: revert g_strescape() patch | Max Kellermann | 2009-01-03 | 1 | -7/+56 |
| | | | | | | Don't use g_strescape(), because it escapes all non-ASCII characters. Add a new function which clears all non-printable characters, not just "newline". | ||||
* | player: emit PLAYLIST event when stream tag changes | Max Kellermann | 2009-01-03 | 1 | -0/+7 |
| | | | | | | | | Commit b3e2635a introduced a regression: when a stream tag was changed, the playlist version had to be updated. This was done in syncCurrentPlayerDecodeMetadata(), called by syncPlayerAndPlaylist(). After b3e2635a, this was not called anymore. Fix this by emitting PIPE_EVENT_PLAYLIST. | ||||
* | utils: removed unused functions | Max Kellermann | 2009-01-03 | 4 | -112/+8 |
| | | | | | Removed all allocation functions, xwrite(), xread(), ARRAY_SIZE(). Those have been superseded by GLib. | ||||
* | event_pipe: use GLib logging | Max Kellermann | 2009-01-03 | 1 | -2/+3 |
| | |||||
* | event_pipe: use close() instead of xclose() | Max Kellermann | 2009-01-03 | 1 | -3/+2 |
| | | | | | xclose() aims to be the signal safe version of close(). However during cleanup, this isn't important. | ||||
* | conf: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -12/+9 |
| | |||||
* | state_file: use GLib instead of utils.h / stat() | Max Kellermann | 2009-01-03 | 1 | -3/+3 |
| | |||||
* | state_file: errors are non-fatal in read_state_file() | Max Kellermann | 2009-01-03 | 4 | -29/+24 |
| | | | | | If the state file cannot be read, for whatever reason, don't abort MPD. The state file isn't _that_ important. | ||||
* | songvec, dirvec: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 2 | -14/+14 |
| | |||||
* | compress: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -4/+4 |
| | |||||
* | don't include utils.h when it isn't used | Max Kellermann | 2009-01-03 | 8 | -9/+7 |
| | |||||
* | timer: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -4/+5 |
| | |||||
* | tag: use g_strescape() to eliminate evil characters | Max Kellermann | 2009-01-03 | 3 | -27/+22 |
| | | | | | This always allocates strings on the heap, but we can delete the stripReturnChar() function now. | ||||
* | pcm: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 3 | -17/+14 |
| | |||||
* | pcm_utils: use the custom PRNG for volume dithering | Max Kellermann | 2009-01-03 | 4 | -6/+40 |
| | | | | | Don't use libc's rand() function, because it is slow. Our own trivial linear congruential generator is good enough for dithering. | ||||
* | listen: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 3 | -20/+21 |
| | |||||
* | tag_id3: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -9/+12 |
| | |||||
* | tag_pool: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -3/+2 |
| | |||||
* | null, fifo: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 2 | -7/+8 |
| | |||||
* | song: use GLib instead of utils.h/log.h | Max Kellermann | 2009-01-03 | 1 | -5/+5 |
| | |||||
* | decoder_api: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -4/+5 |
| | |||||
* | client: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 2 | -7/+10 |
| | |||||
* | client: convert GREETING to a static string | Max Kellermann | 2009-01-03 | 1 | -2/+2 |
| | | | | The length of GREETING is known at compile time, don't use strlen(). | ||||
* | strset: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -3/+3 |
| | |||||
* | dbUtils: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -3/+4 |
| | |||||
* | audio: use GLib instead of utils.h | Max Kellermann | 2009-01-03 | 1 | -2/+2 |
| | |||||
* | listen: use gethostbyname() on WIN32 | Max Kellermann | 2009-01-03 | 1 | -0/+18 |
| | | | | WIN32 has no getaddrinfo(). Fall back to gethostbyname(). | ||||
* | event_pipe: use _pipe() on WIN32 | Max Kellermann | 2009-01-03 | 1 | -2/+13 |
| | | | | | Windows has no pipe(), it only has _pipe() with two additional parameters. | ||||
* | configure.ac: link with -lws2_32 on WIN32 | Max Kellermann | 2009-01-03 | 1 | -0/+6 |
| | | | | All socket functions are provided by ws2_32.dll. | ||||
* | ao: use g_strsplit() instead of strtok_r() | Max Kellermann | 2009-01-03 | 1 | -37/+15 |
| | | | | g_strsplit() is more portable than strtok_r(). | ||||
* | permission: use g_strsplit() instead of strtok_r() | Max Kellermann | 2009-01-03 | 1 | -8/+9 |
| | | | | g_strsplit() is more portable than strtok_r(). | ||||
* | permission: parse password without strtok_r() | Max Kellermann | 2009-01-03 | 1 | -16/+10 |
| | | | | Use strchr()/g_strndup() to extract the password. | ||||
* | log: don't call closelog() on !HAVE_SYSLOG | Max Kellermann | 2009-01-03 | 1 | -0/+2 |
| | |||||
* | update: don't check for symlinks on WIN32 | Max Kellermann | 2009-01-03 | 1 | -0/+15 |
| | | | | | | WIN32 does have some kind of symbolic links (e.g. in NTFS), but the readlink() function is not available. Disable symlink checking for now. | ||||
* | event_pipe: moved variable "main_task" to main.c | Max Kellermann | 2009-01-03 | 5 | -7/+5 |
| |