aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mapper: add mapper_get_music_directory()Max Kellermann2012-02-134-29/+25
| | | | Shortcut for map_directory_fs(db_get_root()).
* database: add "pure" attributesMax Kellermann2012-02-131-0/+5
|
* database: remove obsolete prototype db_check()Max Kellermann2012-02-131-3/+0
|
* mapper: add "pure" attributesMax Kellermann2012-02-131-0/+10
|
* client: add function client_is_local()Max Kellermann2012-02-132-1/+12
|
* client: add "pure" attributesMax Kellermann2012-02-131-0/+3
|
* command: never print "bad name" in response to "load"Max Kellermann2012-02-131-5/+14
| | | | Work around a confusing error message.
* playlist_vector: require database lock for all functionsMax Kellermann2012-02-134-3/+27
|
* playlist_vector: add new playlist to the end of the listMax Kellermann2012-02-131-1/+1
| | | | Avoid reversing the order after every update.
* directory.h: move DIRECTORY_DIR to directory_save.cMax Kellermann2012-02-132-2/+1
|
* Merge branch 'v0.16.x'Max Kellermann2012-02-135-6/+17
|\ | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c
| * decoder/ffmpeg: read the "year" tagMax Kellermann2012-02-131-1/+1
| | | | | | | | | | | | 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.
| * decoder_api: check state before emitting initial seek commandMax Kellermann2012-02-131-0/+6
| | | | | | | | This fixes seeking in the vorbis decoder during MPD startup.
| * pcm_buffer: pcm_buffer_get() never returns NULLMax Kellermann2012-02-132-0/+9
| | | | | | | | | | | | 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.
| * output/winmm: remove pointless NULL checkMax Kellermann2012-02-131-5/+1
| | | | | | | | pcm_buffer_get() cannot ever return NULL.
* | directory: fix reverse order of child directoriestreblid2012-02-131-1/+1
| | | | | | | | | | Directories are loaded in reverse order when MPD starts. Only fixed when doing a rescan.
* | playlist/flac: delete this obsolete pluginMax Kellermann2012-02-123-200/+0
| | | | | | | | | | The FLAC playlist plugin has been superseded by the "embcue" playlist plugin, which can read the embedded CUE sheets of all formats.
* | playlist/embcue: ignore "FILE", always point to container song fileMax Kellermann2012-02-121-2/+15
| | | | | | | | | | An embedded CUE sheet must always point to the song file it is contained in.
* | song: add function song_replace_uri()Max Kellermann2012-02-122-0/+21
| |
* | db_print: print extra "playlist" object for embedded CUE sheetsMax Kellermann2012-02-121-12/+30
| | | | | | | | | | | | 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.
* | song_update: update the "has_playlist" flagMax Kellermann2012-02-121-3/+3
| |
* | tag_handler: add new handler that updates has_playlistMax Kellermann2012-02-122-0/+24
| |
* | tag: add attribute "has_playlist"Max Kellermann2012-02-124-0/+18
| |
* | tag_{ape,id3}: remove the _load() functionsMax Kellermann2012-02-125-84/+6
| | | | | | | | Use _scan() instead, to have more control.
* | playlist_vector: use the list_head libraryMax Kellermann2012-02-129-80/+57
| |
* | update_remove: add header update_remove.hMax Kellermann2012-02-125-16/+44
| |
* | update_walk: move code to update_db.cMax Kellermann2012-02-123-85/+159
| |
* | update_walk: move code to update_io.cMax Kellermann2012-02-123-100/+168
| |
* | update_walk: move code to update_song_file()Max Kellermann2012-02-121-59/+64
| |
* | playlist/embcue: new plugin for reading embedded cue sheetsMax Kellermann2012-02-125-0/+322
| | | | | | | | | | Parses CUE data from the "CUESHEET" tag. Needs further integration in the update thread.
* | decoder/wavpack: bigger tag value bufferMax Kellermann2012-02-121-2/+1
| | | | | | | | Prepare for big CUESHEET tags.
* | tag_handler: handle arbitrary name/value pairsMax Kellermann2012-02-128-8/+106
| | | | | | | | | | The new method pair() receives an arbitrary name/value pair. Support for this is being added to a few decoder plugins.
* | decoder/wavpack: move code to wavpack_scan_tag_item()Max Kellermann2012-02-111-26/+17
| | | | | | | | | | Remove clutter from wavpack_scan_file(), and use a (large) fixed buffer for the tag item.
* | decoder/wavpack: use the tag_table libraryMax Kellermann2012-02-111-8/+7
| |
* | decoder/{mikmod,fluidsynth,mp4ff}: adapt to tag_handler APIMax Kellermann2012-02-113-26/+28
| | | | | | | | Fixes build regression.
* | decoder_plugin: scan tags with callback tableMax Kellermann2012-02-1130-297/+613
| | | | | | | | | | Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
* | decoder/gme: convert runtime check to assertionMax Kellermann2012-02-111-21/+22
| | | | | | | | | | When gme_track_info() returns with success, then the gme_info_t pointer must be set.
* | decoder/ffmpeg: use the tag_table libraryMax Kellermann2012-02-111-13/+9
| |
* | decoder/ffmpeg: move code to ffmpeg_metadata.cMax Kellermann2012-02-113-46/+106
| |
* | decoder/ffmpeg: remove AV_VERSION_INT definitionMax Kellermann2012-02-111-5/+0
| | | | | | | | All supported ffmpeg/libav versions have this.
* | decoder/flac: check for errors only after _process_single()Max Kellermann2012-02-111-8/+6
| | | | | | | | The only other libFLAC call (seek) does not produce fatal errors.
* | decoder/flac: symmetric FLAC__stream_decoder_finish() callsMax Kellermann2012-02-111-1/+3
| | | | | | | | | | Call it in the function that also invokved FLAC__stream_decoder_init_*().
* | decoder/flac: use error messages from libFLACMax Kellermann2012-02-113-44/+10
| |
* | decoder/flac: eliminate the remaining "gotos"Max Kellermann2012-02-111-42/+54
| | | | | | | | https://www.xkcd.com/292/
* | decoder/{vorbis,flac}: use the tag_table libraryMax Kellermann2012-02-112-21/+21
| |
* | tag_id3: use the tag_table library for TXXXMax Kellermann2012-02-112-15/+26
| |
* | tag_table: convert to a structMax Kellermann2012-02-113-14/+22
| | | | | | | | | | The struct is smaller because it is sparse. Its traversal is also more efficient.
* | decoder_api: correct decoder_seek_error() documentationMax Kellermann2012-02-111-1/+1
| |
* | decoder/vorbis: move code to vorbis_comment.cMax Kellermann2012-02-113-103/+167
| |
* | cue_parser: new line based CUE sheet parserMax Kellermann2012-02-106-330/+413
| | | | | | | | To replace libcue, the unmaintained and crashy library.