Commit Graph

3348 Commits

Author SHA1 Message Date
Max Kellermann
77d3643036 ls: include cleanup
Don't include headers which are not used.  Fix some includes in
decoder_thread.c.
2009-01-04 17:26:12 +01:00
Max Kellermann
599d5820bc update: moved code to directory_exists(), fix typo
Reverse the condition: delete directories which don't exist anymore.
This typo caused a slowdown during partial database update.
2009-01-04 17:26:07 +01:00
Max Kellermann
17d8bdb427 playlist: use uri_has_scheme() instead of isRemoteUrl()
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.
2009-01-04 16:23:33 +01:00
Max Kellermann
7d87f71d83 command: check URI scheme in "addid"
Check if the URI scheme is supported by MPD, and print an error
message if not.  Optimize the checks in "add" and "playlistadd".
2009-01-04 16:22:08 +01:00
Max Kellermann
ef0b328a3c command: added variable "uri" to command handlers
Don't work with argv[1], give it the better name "uri".
2009-01-04 16:19:45 +01:00
Max Kellermann
1cad0c5b1d configure.ac: detect libid3tag without pkg-config
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.
2009-01-04 15:31:06 +01:00
Max Kellermann
55b6fd2f0c player_thread: fix cross-fading duplicate chunk bug
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.
2009-01-04 14:55:02 +01:00
Max Kellermann
96c18e7d15 input_curl: enabled Icy-Metadata support 2009-01-03 23:55:03 +01:00
Max Kellermann
f9e9089f42 added library for parsing icy-metadata
The icy_metadata will be used by the curl input_stream implementation.
2009-01-03 23:35:30 +01:00
Max Kellermann
700bd44fda input_stream: added tag() method
The tag() method reads a tag from the stream.  This replaces the
meta_name and meta_title attributes.
2009-01-03 23:29:45 +01:00
Max Kellermann
4be479d20c tag: added function tag_merge()
tag_merges() merges the data from two tag objects into one.
2009-01-03 23:28:51 +01:00
Max Kellermann
149f4e10cf decoder_api: moved code to do_send_tag(), free temporary tag
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.
2009-01-03 23:28:51 +01:00
Max Kellermann
77b32addf1 tag: revert g_strescape() patch
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".
2009-01-03 23:13:39 +01:00
Max Kellermann
6d2e4f4e72 player: emit PLAYLIST event when stream tag changes
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.
2009-01-03 20:49:51 +01:00
Max Kellermann
38bf81285f utils: removed unused functions
Removed all allocation functions, xwrite(), xread(), ARRAY_SIZE().
Those have been superseded by GLib.
2009-01-03 14:53:42 +01:00
Max Kellermann
b42e10b839 event_pipe: use GLib logging 2009-01-03 14:53:39 +01:00
Max Kellermann
d1c4f261c8 event_pipe: use close() instead of xclose()
xclose() aims to be the signal safe version of close(). However during
cleanup, this isn't important.
2009-01-03 14:53:36 +01:00
Max Kellermann
206611e280 conf: use GLib instead of utils.h 2009-01-03 14:53:34 +01:00
Max Kellermann
63e240131e state_file: use GLib instead of utils.h / stat() 2009-01-03 14:53:29 +01:00
Max Kellermann
dcff29e5aa state_file: errors are non-fatal in read_state_file()
If the state file cannot be read, for whatever reason, don't abort
MPD.  The state file isn't _that_ important.
2009-01-03 14:53:23 +01:00
Max Kellermann
2064e8ac4c songvec, dirvec: use GLib instead of utils.h 2009-01-03 14:53:02 +01:00
Max Kellermann
457301d97b compress: use GLib instead of utils.h 2009-01-03 14:52:59 +01:00
Max Kellermann
dec4e4ca85 don't include utils.h when it isn't used 2009-01-03 14:52:56 +01:00
Max Kellermann
d17f0f435b timer: use GLib instead of utils.h 2009-01-03 14:52:53 +01:00
Max Kellermann
03524fb81c tag: use g_strescape() to eliminate evil characters
This always allocates strings on the heap, but we can delete the
stripReturnChar() function now.
2009-01-03 14:52:49 +01:00
Max Kellermann
d342e338db pcm: use GLib instead of utils.h 2009-01-03 14:52:13 +01:00
Max Kellermann
962f2407d2 pcm_utils: use the custom PRNG for volume dithering
Don't use libc's rand() function, because it is slow.  Our own trivial
linear congruential generator is good enough for dithering.
2009-01-03 14:51:47 +01:00
Max Kellermann
8ebb3196a8 listen: use GLib instead of utils.h 2009-01-03 14:51:43 +01:00
Max Kellermann
30f75f7f01 tag_id3: use GLib instead of utils.h 2009-01-03 14:51:41 +01:00
Max Kellermann
c24a102c98 tag_pool: use GLib instead of utils.h 2009-01-03 14:51:37 +01:00
Max Kellermann
2189796b96 null, fifo: use GLib instead of utils.h 2009-01-03 14:51:34 +01:00
Max Kellermann
3978b7b1ea song: use GLib instead of utils.h/log.h 2009-01-03 14:51:30 +01:00
Max Kellermann
2d6f469091 decoder_api: use GLib instead of utils.h 2009-01-03 14:51:28 +01:00
Max Kellermann
2bc0144023 client: use GLib instead of utils.h 2009-01-03 13:44:19 +01:00
Max Kellermann
0eb1166beb client: convert GREETING to a static string
The length of GREETING is known at compile time, don't use strlen().
2009-01-03 13:42:14 +01:00
Max Kellermann
3dc43bb915 strset: use GLib instead of utils.h 2009-01-03 13:38:48 +01:00
Max Kellermann
906ca3e204 dbUtils: use GLib instead of utils.h 2009-01-03 13:37:36 +01:00
Max Kellermann
6ce06a4863 audio: use GLib instead of utils.h 2009-01-03 13:36:20 +01:00
Max Kellermann
019bca2475 listen: use gethostbyname() on WIN32
WIN32 has no getaddrinfo().  Fall back to gethostbyname().
2009-01-03 13:23:03 +01:00
Max Kellermann
fa9b5fd10b event_pipe: use _pipe() on WIN32
Windows has no pipe(), it only has _pipe() with two additional
parameters.
2009-01-03 13:22:55 +01:00
Max Kellermann
4e0973a8f7 configure.ac: link with -lws2_32 on WIN32
All socket functions are provided by ws2_32.dll.
2009-01-03 13:21:25 +01:00
Max Kellermann
59067e6a92 ao: use g_strsplit() instead of strtok_r()
g_strsplit() is more portable than strtok_r().
2009-01-03 13:20:12 +01:00
Max Kellermann
5b543e8fa6 permission: use g_strsplit() instead of strtok_r()
g_strsplit() is more portable than strtok_r().
2009-01-03 13:20:10 +01:00
Max Kellermann
6507bcccd3 permission: parse password without strtok_r()
Use strchr()/g_strndup() to extract the password.
2009-01-03 13:20:06 +01:00
Max Kellermann
3cb3baa1e2 log: don't call closelog() on !HAVE_SYSLOG 2009-01-03 13:20:01 +01:00
Max Kellermann
a8dbd8f44f update: don't check for symlinks on WIN32
WIN32 does have some kind of symbolic links (e.g. in NTFS), but the
readlink() function is not available.  Disable symlink checking for
now.
2009-01-03 13:19:58 +01:00
Max Kellermann
48aace1859 event_pipe: moved variable "main_task" to main.c 2009-01-03 13:19:01 +01:00
Max Kellermann
96814397ad sig_handlers: disable on WIN32
WIN32 doesn't have POSIX signals.  Disable the code.  For a complete
port, we will have to implement the WIN32 equivalent.
2009-01-03 12:29:42 +01:00
Max Kellermann
2cf96abcc1 command: fix adding local files on !WIN32
Due to a typo, adding local files was always denied.

Disable the second playlist_append_file() invocation on WIN32.
2009-01-03 12:29:42 +01:00
Max Kellermann
7a8ef820a4 list: removed linked list library
It's been superseded by GLib's GSList.
2009-01-02 18:41:35 +01:00