aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* command: add optional range parameter to "load"Max Kellermann2012-02-091-4/+13
|
* playlist_save: add start/end_index parametersMax Kellermann2012-02-093-4/+12
|
* playlist_queue: add start/end_index parametersMax Kellermann2012-02-093-3/+21
|
* Merge branch 'v0.16.x'Max Kellermann2012-02-041-34/+36
|\ | | | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c test/run_decoder.c
| * decoder/ffmpeg: use AV_SAMPLE_FMT_* if availableMax Kellermann2012-02-031-0/+8
| | | | | | | | | | Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_*
| * decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps tableMax Kellermann2012-02-031-3/+6
| | | | | | | | Minor optimisation.
| * decoder/ffmpeg: support all MPD tagsMax Kellermann2012-02-031-12/+5
| | | | | | | | | | Use the tag_item_names table to look up the names of all MPD tags, and remove the duplicate entries from ffmpeg_tag_maps.
| * decoder/ffmpeg: pass tag_type and name to _copy_metadata()Max Kellermann2012-02-031-5/+6
| | | | | | | | Allow using this function without the ffmpeg_tag_map struct.
| * decoder/ffmpeg: merge code to _copy_dictionary()Max Kellermann2012-02-031-6/+11
| | | | | | | | Eliminate some duplicate code.
| * decoder/ffmpeg: add macros emulating AVDictionaryMax Kellermann2012-02-031-13/+7
| | | | | | | | Move the #ifdefs out of _copy_metadata().
| * decoder/ffmpeg: _copy_metadata() returns voidMax Kellermann2012-02-031-3/+1
| | | | | | | | No interest in this return value.
* | directory: require the caller to lock the db_mutexMax Kellermann2012-02-029-26/+127
| | | | | | | | | | Reduce the number of lock/unlock cycles, and make database handling safer.
* | db_lock: add assertionsMax Kellermann2012-02-022-0/+33
| |
* | update_walk: use directory_make_child()Max Kellermann2012-02-021-5/+2
| |
* | directory: add new objects to the end of the linked listMax Kellermann2012-02-021-2/+2
| | | | | | | | | | This was the cause of the reversed ordering when loading a database file.
* | input/soup: use #pragma only with gcc 4.6+Max Kellermann2012-01-291-2/+2
| | | | | | | | | | | | It seems gcc 4.5 does not allow #pragma within function: src/input/soup_input_plugin.c:284:9: error: #pragma GCC diagnostic not allowed inside functions
* | directory: fix deep path lookupMax Kellermann2012-01-291-16/+14
| | | | | | | | | | This commit fixes a major regression in directory_lookup_directory(), which broke the deep lookup of directories.
* | directory: mark unused parameterMax Kellermann2012-01-241-1/+2
| |
* | directory: replace songvec with doubly linked listMax Kellermann2012-01-2410-226/+98
| |
* | directory: add function directory_get_song(), ...Max Kellermann2012-01-244-14/+64
| | | | | | | | Wrap songvec_find() and other songvec methods.
* | directory: replace dirvec with doubly linked listMax Kellermann2012-01-247-205/+99
| | | | | | | | | | Random access is not needed, and a linked list is easier to manage: we don't need to (re-)allocate the pointer array.
* | util/list.h: import the Linux kernel's linked list libraryMax Kellermann2012-01-243-0/+798
| |
* | directory: simplify constructors and clarify API documentationMax Kellermann2012-01-245-76/+111
| | | | | | | | | | Pass only the "name" to a directory, instead of the full (relative) path.