aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-11-21configure.ac: add macro MPD_ENABLE_AUTO_PKGMax Kellermann3-12/+12
Simplify the definition of many build options.
2014-11-18DatabaseCommands: add "window" parameter to "search"/"find"Max Kellermann2-3/+31
2014-11-09db/upnp/Directory: TitleToPathSegment() returns rvalue referenceMax Kellermann1-2/+2
Eliminate one implicit std::string copy.
2014-11-09db/upnp/Directory: apply coding styleMax Kellermann1-23/+23
2014-11-08db/Count: include cleanupMax Kellermann1-1/+1
2014-11-08db/upnp/Directory: move checkobjok() to class UPnPDirObjectMax Kellermann2-11/+9
2014-11-08db/upnp/Object: apply coding styleMax Kellermann3-21/+28
2014-11-07db/upnp: fix valgrind warningMax Kellermann1-0/+1
2014-10-10db/upnp/Util: move caturl() to util/UriUtil.cxxMax Kellermann1-0/+1
2014-10-01storage/Interface: include cleanupMax Kellermann2-0/+3
2014-09-27Add MusicBrainz' Release Track Id tagWieland Hoffmann1-0/+4
The Release Track Id uniquely identifies a recording on a release - that is, even if a recording appears twice on a release (meaning that the combination of recording and release id are not enough to figure out which one it is), the release track id will allow differentiating the two. The tag names are taken from https://musicbrainz.org/doc/MusicBrainz_Picard/Tags/Mapping
2014-09-18db/proxy: support empty values in VisitUniqueTags()Max Kellermann1-0/+9
Workaround for assertion failure in PrintUniqueTag().
2014-08-30*: add missing Compiler.h includesMax Kellermann5-0/+5
Necessary for "final" on gcc 4.6.
2014-08-30db/simple: fix build failure without zlibMax Kellermann1-1/+4
2014-08-29db/Stats: use std::chrono::duration for the total durationMax Kellermann3-4/+6
Use milliseconds precision to reduce rounding errors.
2014-08-29db/upnp: use DatabaseStats::Clear()Max Kellermann1-4/+1
2014-08-29db/Count: use std::chrono::duration for the total timeMax Kellermann1-6/+9
Use milliseconds precision to reduce rounding errors.
2014-08-29Tag: use SignedSongTime for the song durationMax Kellermann6-19/+27
2014-08-28db/simple/Song: use std::chrono::duration for start_ms and end_msMax Kellermann2-9/+11
2014-08-28db/LightSong: use std::chrono::duration for start_ms and end_msMax Kellermann5-14/+15
2014-08-28DetachedSong: use std::chrono::duration for start_ms and end_msMax Kellermann1-2/+2
2014-08-11db/simple: check for I/O errors in Load()Max Kellermann1-1/+1
2014-08-11db/simple: compress the database file using gzipMax Kellermann2-5/+60
2014-08-07fs/io/BufferedReader: new class to replace class TextFileMax Kellermann1-5/+2
The new class is pluggable, to prepare for gzipped database files. For now, the TextFile class remains, and will be refactored away later.
2014-08-07fs/output, fs/TextFile: move to fs/io/Max Kellermann3-7/+7
2014-08-06db/update/InotifySource: remove FifoBufferMax Kellermann2-16/+15
Eliminate support for partial reads. The Linux kernel will never return partial results, so this buffering was unnecessary.
2014-07-30*Save, *State: use the OutputStream API instead of FILE*Max Kellermann5-37/+33
2014-07-29db/proxy: implement Update()Max Kellermann1-0/+19
2014-07-29db/Interface: add virtual method Update()Max Kellermann1-0/+12
For database plugins that don't use the UpdateService.
2014-07-12Tag: add class const_iterator and methods begin(), end()Max Kellermann3-9/+3
Enables using range-based "for".
2014-06-23db/proxy: fall back to recursive walk on old libmpdclient/MPDMax Kellermann1-1/+21
Error message was 'too few arguments for "find"' because the "base" constraint was not supported, and no other constraints remained.
2014-06-23db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3Max Kellermann1-0/+5
2014-06-23db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3Max Kellermann1-0/+5
2014-06-21db/proxy: initialize LightSong::real_uriMax Kellermann1-0/+1
Fixes potential crash.
2014-06-16Directory: eliminate attribute "have_stat"Max Kellermann3-4/+3
Check for 0 in "device" and "inode" instead.
2014-06-16db/simple: use class boost::intrusive::listMax Kellermann8-144/+151
Remove the C list_head library and use type-safe C++ instead.
2014-04-27db/Count: implement groupingMax Kellermann2-7/+82
2014-04-27db/Count: add constructorMax Kellermann1-2/+3
2014-04-26DatabasePrint: move PrintSongCount() to Count.cxxMax Kellermann4-54/+110
2014-04-25db/Helpers: split libraryMax Kellermann5-47/+98
2014-04-25DatabasePrint: refactor variable/function namesMax Kellermann2-21/+21
2014-04-24db/Helpers: move code to tag/Set.cxxMax Kellermann1-88/+1
2014-04-24db/Helpers: move TagSet to dedicated headerMax Kellermann1-24/+1
2014-04-24db/Helpers: use set::emplace()Max Kellermann1-0/+8
2014-04-24DatabasePrint: eliminate printAllIn(), printInfoForAllIn()Max Kellermann2-24/+0
2014-04-24DatabasePrint: merge adjacent client_printf() callsMax Kellermann1-2/+4
2014-04-24DatabasePrint: pass const SearchStats referenceMax Kellermann1-4/+5
2014-04-24DatabasePrint: use unsigned countsMax Kellermann1-3/+3
2014-04-24DatabaseCommands: "list" allows groupingMax Kellermann12-42/+166
2014-04-24db/Helpers: "list" on album artist falls back to the artist tagMax Kellermann1-1/+4