Max Kellermann
47ab2ad6f3
configure.ac: rename HAVE_CURL to ENABLE_CURL
2009-09-24 21:40:07 +02:00
Max Kellermann
06d5d4b03e
conf: handle fatal errors with GError
...
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-24 21:40:07 +02:00
Max Kellermann
f3739a73af
conf: splitted function config_param_free()
2009-09-24 21:40:05 +02:00
Max Kellermann
1b227e0145
cmdline: handle fatal errors with GError
...
Don't call g_error(), which will abort the process and dump core.
2009-09-24 21:40:05 +02:00
Max Kellermann
308b3f2337
listen: handle fatal errors with GError
...
Don't call g_error(), which will abort the process and dump core.
2009-09-24 21:40:04 +02:00
Max Kellermann
1e56107967
update: splitted update.c into several sources
2009-09-24 21:39:46 +02:00
Max Kellermann
b0e1a3d34c
update: pass const string to update_enqueue()
...
Duplicate the path string within update.c, do not expect an allocated
string as parameter.
2009-09-24 21:39:43 +02:00
Max Kellermann
1cc4914b24
update: renamed directory_update_init() to update_enqueue()
2009-09-24 17:57:39 +02:00
Max Kellermann
aec18c74ec
decoder/sidplay: free songlength data blob in error handler
...
When parsing the songlength database fails, the code forgot to free
the memory allocated by the raw file data.
2009-09-24 10:17:58 +02:00
Max Kellermann
4729d10bb2
decoder/sidplay: moved code to sidplay_load_songlength_db()
2009-09-24 10:14:05 +02:00
Max Kellermann
a8af3ce0dd
decoder/sidplay: free GError objects
...
The caller is responsible fro freeing GError objects. That
g_error_free() call was missing in two places.
2009-09-24 10:05:21 +02:00
Max Kellermann
d657be33ba
decoder/sidplay: pass GError** to g_file_get_contents()
...
The error handler dereferences GError*, but did not retrieve that
object from g_file_get_contents().
2009-09-24 10:04:24 +02:00
Max Kellermann
a86f9b8035
cmdline: removed options --create-db and --no-create-db
...
Both options are deprecated, and should not be used anymore. Many
users get confused by their presence.
2009-09-20 23:31:35 +02:00
Patrik Weiskircher
32f212cb86
output/osx: fix the OS X 10.6 build
...
Include CoreServices/CoreServices.h.
2009-09-20 23:30:37 +02:00
Max Kellermann
fdc479676f
Merge branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
doc/mpdconf.example
2009-09-10 23:18:43 +02:00
Max Kellermann
a99202a8a4
decoder/vorbis: revert "faster tag scanning with ov_test_callback()"
...
This patch made ov_time_total() unusable, and MPD did not know the
duration of songs.
2009-09-10 23:04:01 +02:00
Serge Ziryukin
761771ad24
output/openal: support OpenAL plugin on Mac OS X
2009-09-07 15:52:32 +02:00
Serge Ziryukin
eefef369ea
output/openal: fix default device name
2009-09-06 22:22:17 +02:00
Serge Ziryukin
8b6a5d19d0
openal output plugin
2009-09-06 17:34:56 +02:00
Mike Dawson
430b5b0490
decoder/sidplay: support seeking
2009-08-30 19:49:16 +02:00
Mike Dawson
cde9408bd8
decoder/sidplay: implemented songlength database
...
[mk: added autoconf test; fixed songlen_data_size type]
2009-08-30 19:49:04 +02:00
Mike Dawson
85ce9aa7de
decoder/sidplay: subtunes
2009-08-30 19:48:56 +02:00
Max Kellermann
f2ff2409ad
Merged release 0.15.3 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
2009-08-30 09:42:12 +02:00
Max Kellermann
bff4c54ece
decoder/mpg123: new decoder plugin based on libmpg123
...
Still missing:
- seeking
- tags
- streaming
- encodings other than MPG123_ENC_SIGNED_16
2009-08-26 20:08:13 +02:00
Anton Khirnov
df0c26a394
command: add "findadd" command.
2009-08-25 13:43:22 +02:00
Gunnar Roth
1e56c7b862
decoder/vorbis: open file in "binary" mode
...
fopen change for win32 in tag dup of vorbis
win32 adaption for head changes
2009-08-25 00:49:48 +02:00
Rasmus Steinke
408f723701
decoder/vorbis: faster tag scanning with ov_test_callback()
...
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-24 22:14:22 +02:00
Max Kellermann
4a0d4a02a6
output/recorder: new output plugin for recording radio streams
...
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-24 18:57:06 +02:00
Max Kellermann
4231ec51c3
conf: removed the deprecated "error_file" option
...
This option was deprecated by the 0.15 release. This patch makes this
option invalid.
2009-08-24 17:12:15 +02:00
Igor Kuzmin
9d42f4e0ed
update: don't re-read unchanged container files
...
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-19 21:21:29 +02:00
Max Kellermann
fd8aa54a90
output_init: initialize the "pause" flag
...
Fix stuttering due to uninitialized variable.
2009-08-18 11:32:54 +02:00
Max Kellermann
f401c1059c
Merged release 0.15.2 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
2009-08-15 21:18:38 +02:00
Max Kellermann
f38ce5408b
output/shout: minimize the unpause latency
...
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-14 11:52:36 +02:00
Max Kellermann
7133f560ec
output: fixed shout stuck pause bug
...
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-14 11:52:12 +02:00
Max Kellermann
7dddd9beda
directory: free empty directories after removing them (memleak)
...
dirvec_delete() does not free the object, we have to call
directory_free() afterwards.
2009-08-14 11:52:00 +02:00
Max Kellermann
5d6f7803e1
update: free temporary string in container scan (memleak)
...
The return value of map_directory_child_fs() must be freed.
2009-08-14 11:51:51 +02:00
Max Kellermann
1c4f407a6d
decoder/flac: don't allocate cuesheet twice (memleak)
...
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-14 11:51:42 +02:00
Max Kellermann
e44f313912
update: free empty path string (memleak)
...
When you pass an empty string to directory_update_init(), it was not
freed by update_task().
2009-08-14 11:51:35 +02:00
Max Kellermann
e28a0e97b5
decoder_control: protect command, state with a mutex
...
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.
2009-08-13 23:33:46 +02:00
Mike Frysinger
499ed62dd7
use daemon() when the C library provides it
...
For systems that cannot support fork() (like no-mmu Linux), use daemon() if
it is available for the daemonizing code.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-08-13 17:25:30 +02:00
Max Kellermann
4363c49443
tag_id3: moved id3_genre_name() call to tag_id3_import_text()
...
The ID3_FRAME_GENRE field is queried only in tag_id3_import_text().
Don't pass the tag type to import_id3_string().
2009-08-04 00:15:46 +02:00
Max Kellermann
09571fcc55
tag_id3: splitted function tag_id3_import_frame()
...
Splitted tag_id3_import_frame() into two specialized functions:
tag_id3_import_text() and tag_id3_import_comment(). Use
id3_frame_field() instead of directly accessing id3_frame.fields.
2009-08-04 00:15:43 +02:00
Max Kellermann
c7563a5783
tag_id3: corrected parameter types
...
Changed "int type" to "enum tag_type". Converted "int is_id3v1" to
"bool".
2009-08-04 00:14:24 +02:00
Max Kellermann
b06b4f937d
tag_id3: converted tag_is_id3v1() to an inline function
...
Prefer C over CPP.
2009-08-04 00:13:22 +02:00
Max Kellermann
86c6bb618b
tag_id3: no CamelCase
...
Renamed functions.
2009-08-04 00:13:22 +02:00
Anton Khirnov
bff72634ca
ffmpeg_plugin: convert metadata to generic format
2009-08-03 17:40:22 +02:00
Max Kellermann
6f060081be
command: moved command_process_list() to client.c
2009-07-29 08:00:01 +02:00
Courtney Cavin
7f865f722c
playlist: CamelCaseIsBad
...
Renamed all playlist functions to non-CamelCase.
2009-07-28 18:07:01 -04:00
Courtney Cavin
614a011845
input/lastfm: Ensure multiple identical xml entities are decoded.
...
Previously, if two identical entities appeared in one string, only the
first would get decoded. This fixes that bug.
2009-07-28 16:40:52 -04:00
Max Kellermann
f78366910e
client: splitted client.c into several pieces
...
The soure file client.c has nearly 1000 lines, time for splitting it
into smaller pieces to improve readability.
2009-07-28 17:17:23 +02:00