Commit Graph

6318 Commits

Author SHA1 Message Date
Max Kellermann 52e9cab1c1 command: check for empty string after strtol()
An empty string is obviously not a valid integer.
2012-02-14 18:59:41 +01:00
Max Kellermann 1baaaa40cc command: parse unsigned integers and booleans where applicable 2012-02-14 18:57:43 +01:00
Max Kellermann b8ed420058 command: move functions to protocol/result.c 2012-02-14 18:57:29 +01:00
Max Kellermann ed16ee3029 command: eliminate local buffer "unknown" 2012-02-14 18:57:12 +01:00
Max Kellermann 7338b16c18 listen: implement systemd socket activation 2012-02-13 21:32:42 +01:00
Max Kellermann f529441400 server_socket: add method _add_fd() 2012-02-13 21:32:42 +01:00
Max Kellermann 03664d0426 server_socket: move code to set_fd() 2012-02-13 21:32:42 +01:00
Max Kellermann 652cfb7caf zeroconf: skip initialisation if there is no port 2012-02-13 21:05:05 +01:00
Max Kellermann 5540fbaec2 command: new command "config" 2012-02-13 20:30:27 +01:00
Max Kellermann 0a0b473765 mapper: add mapper_get_music_directory()
Shortcut for map_directory_fs(db_get_root()).
2012-02-13 20:10:19 +01:00
Max Kellermann df2d041483 database: add "pure" attributes 2012-02-13 20:08:50 +01:00
Max Kellermann ffc6e19548 database: remove obsolete prototype db_check() 2012-02-13 20:08:47 +01:00
Max Kellermann d874d7661f mapper: add "pure" attributes 2012-02-13 20:06:23 +01:00
Max Kellermann 1d66e714e6 client: add function client_is_local() 2012-02-13 20:05:31 +01:00
Max Kellermann d98a863b82 client: add "pure" attributes 2012-02-13 20:05:15 +01:00
Max Kellermann 3b6790c7dc command: never print "bad name" in response to "load"
Work around a confusing error message.
2012-02-13 19:51:27 +01:00
Max Kellermann 5ee3a9a9ca playlist_vector: require database lock for all functions 2012-02-13 19:26:04 +01:00
Max Kellermann dd26fa67f2 playlist_vector: add new playlist to the end of the list
Avoid reversing the order after every update.
2012-02-13 19:26:03 +01:00
Max Kellermann 89f5e60422 directory.h: move DIRECTORY_DIR to directory_save.c 2012-02-13 19:24:17 +01:00
Max Kellermann c616165f81 Merge branch 'v0.16.x'
Conflicts:
	NEWS
	configure.ac
	src/decoder/ffmpeg_decoder_plugin.c
	test/read_tags.c
2012-02-13 19:15:18 +01:00
Max Kellermann 103832742d decoder/ffmpeg: read the "year" tag
This was disabled when compiled with a new ffmpeg version.  Older
ffmpeg versions used it explicitly, while newer ones may pass it
through from the codec.
2012-02-13 19:05:39 +01:00
Max Kellermann 3e7e0bcb18 test/run_decoder: initialize GThread 2012-02-13 19:00:23 +01:00
Max Kellermann 7d3d8f20ab test/read_tags: call g_thread_init() 2012-02-13 18:37:09 +01:00
Max Kellermann e1e3ce980a decoder_api: check state before emitting initial seek command
This fixes seeking in the vorbis decoder during MPD startup.
2012-02-13 18:27:43 +01:00
Max Kellermann 7855a32579 pcm_buffer: pcm_buffer_get() never returns NULL
This fixes a bug when libsamplerate returns an empty buffer for a very
small input buffer.  The caller thinks this is an error, bug there is
no GError object.
2012-02-13 18:17:05 +01:00
Max Kellermann 9c92afa5fe output/winmm: remove pointless NULL check
pcm_buffer_get() cannot ever return NULL.
2012-02-13 18:10:36 +01:00
treblid edac498d03 directory: fix reverse order of child directories
Directories are loaded in reverse order when MPD starts. Only fixed
when doing a rescan.
2012-02-13 14:44:28 +01:00
Max Kellermann d7d9dbd2c2 playlist/flac: delete this obsolete plugin
The FLAC playlist plugin has been superseded by the "embcue" playlist
plugin, which can read the embedded CUE sheets of all formats.
2012-02-12 19:57:27 +01:00
Max Kellermann f8eece22c8 playlist/embcue: ignore "FILE", always point to container song file
An embedded CUE sheet must always point to the song file it is
contained in.
2012-02-12 19:48:02 +01:00
Max Kellermann df563db294 song: add function song_replace_uri() 2012-02-12 19:48:02 +01:00
Max Kellermann 01b0d9eb97 db_print: print extra "playlist" object for embedded CUE sheets
This finally enables the new embedded CUE sheet code: when a song file
contains a playlist, it is printed in the "lsinfo" output, so clients
get to know about this.
2012-02-12 18:41:25 +01:00
Max Kellermann a7f13d841f song_update: update the "has_playlist" flag 2012-02-12 18:40:55 +01:00
Max Kellermann 686d8bbe69 tag_handler: add new handler that updates has_playlist 2012-02-12 18:40:55 +01:00
Max Kellermann 4b36af4a34 tag: add attribute "has_playlist" 2012-02-12 18:29:05 +01:00
Max Kellermann 4a23a4bfee tag_{ape,id3}: remove the _load() functions
Use _scan() instead, to have more control.
2012-02-12 18:29:05 +01:00
Max Kellermann ac3ad452c0 playlist_vector: use the list_head library 2012-02-12 17:50:30 +01:00
Max Kellermann 027c01511c update_remove: add header update_remove.h 2012-02-12 17:43:23 +01:00
Max Kellermann 4fdcc0496f update_walk: move code to update_db.c 2012-02-12 17:41:34 +01:00
Max Kellermann 0c4a2bea69 update_walk: move code to update_io.c 2012-02-12 17:00:00 +01:00
Max Kellermann 2ba3401238 update_walk: move code to update_song_file() 2012-02-12 16:50:24 +01:00
Max Kellermann 1735284a2a playlist/embcue: new plugin for reading embedded cue sheets
Parses CUE data from the "CUESHEET" tag.  Needs further integration in
the update thread.
2012-02-12 16:10:20 +01:00
Max Kellermann 8a3192ffc1 decoder/wavpack: bigger tag value buffer
Prepare for big CUESHEET tags.
2012-02-12 16:10:20 +01:00
Max Kellermann ffea273a28 tag_handler: handle arbitrary name/value pairs
The new method pair() receives an arbitrary name/value pair.  Support
for this is being added to a few decoder plugins.
2012-02-12 13:41:48 +01:00
Max Kellermann 1783aac438 decoder/wavpack: move code to wavpack_scan_tag_item()
Remove clutter from wavpack_scan_file(), and use a (large) fixed
buffer for the tag item.
2012-02-11 19:36:59 +01:00
Max Kellermann 29bf3d2c04 decoder/wavpack: use the tag_table library 2012-02-11 19:34:10 +01:00
Max Kellermann ee16fc958c decoder/{mikmod,fluidsynth,mp4ff}: adapt to tag_handler API
Fixes build regression.
2012-02-11 19:28:56 +01:00
Max Kellermann 5d73215a8d decoder_plugin: scan tags with callback table
Pass a callback table to scan_file() and scan_stream(), instead of
returning a tag object.
2012-02-11 17:04:29 +01:00
Max Kellermann b7356bc526 decoder/gme: convert runtime check to assertion
When gme_track_info() returns with success, then the gme_info_t
pointer must be set.
2012-02-11 16:59:24 +01:00
Max Kellermann 8ec8282f38 decoder/ffmpeg: use the tag_table library 2012-02-11 16:39:03 +01:00
Max Kellermann 43b7b98949 decoder/ffmpeg: move code to ffmpeg_metadata.c 2012-02-11 16:37:29 +01:00