aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (follow)
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac: add macro MPD_ENABLE_AUTO_PKGMax Kellermann2014-11-213-12/+12
| | | | Simplify the definition of many build options.
* DatabaseCommands: add "window" parameter to "search"/"find"Max Kellermann2014-11-182-3/+31
|
* Merge tag 'v0.19.3'Max Kellermann2014-11-111-1/+1
|\
| * db/Count: include cleanupMax Kellermann2014-11-081-1/+1
| |
* | db/upnp/Directory: TitleToPathSegment() returns rvalue referenceMax Kellermann2014-11-091-2/+2
| | | | | | | | Eliminate one implicit std::string copy.
* | db/upnp/Directory: apply coding styleMax Kellermann2014-11-091-23/+23
| |
* | db/upnp/Directory: move checkobjok() to class UPnPDirObjectMax Kellermann2014-11-082-11/+9
| |
* | db/upnp/Object: apply coding styleMax Kellermann2014-11-083-21/+28
|/
* db/upnp: fix valgrind warningMax Kellermann2014-11-071-0/+1
|
* db/upnp/Util: move caturl() to util/UriUtil.cxxMax Kellermann2014-10-101-0/+1
|
* storage/Interface: include cleanupMax Kellermann2014-10-012-0/+3
|
* Add MusicBrainz' Release Track Id tagWieland Hoffmann2014-09-271-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
* db/proxy: support empty values in VisitUniqueTags()Max Kellermann2014-09-181-0/+9
| | | | Workaround for assertion failure in PrintUniqueTag().
* *: add missing Compiler.h includesMax Kellermann2014-08-305-0/+5
| | | | Necessary for "final" on gcc 4.6.
* db/simple: fix build failure without zlibMax Kellermann2014-08-301-1/+4
|
* db/Stats: use std::chrono::duration for the total durationMax Kellermann2014-08-293-4/+6
| | | | Use milliseconds precision to reduce rounding errors.
* db/upnp: use DatabaseStats::Clear()Max Kellermann2014-08-291-4/+1
|
* db/Count: use std::chrono::duration for the total timeMax Kellermann2014-08-291-6/+9
| | | | Use milliseconds precision to reduce rounding errors.
* Tag: use SignedSongTime for the song durationMax Kellermann2014-08-296-19/+27
|
* db/simple/Song: use std::chrono::duration for start_ms and end_msMax Kellermann2014-08-282-9/+11
|
* db/LightSong: use std::chrono::duration for start_ms and end_msMax Kellermann2014-08-285-14/+15
|
* DetachedSong: use std::chrono::duration for start_ms and end_msMax Kellermann2014-08-281-2/+2
|
* db/simple: check for I/O errors in Load()Max Kellermann2014-08-111-1/+1
|
* db/simple: compress the database file using gzipMax Kellermann2014-08-112-5/+60
|
* fs/io/BufferedReader: new class to replace class TextFileMax Kellermann2014-08-071-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.
* fs/output, fs/TextFile: move to fs/io/Max Kellermann2014-08-073-7/+7
|
* db/update/InotifySource: remove FifoBufferMax Kellermann2014-08-062-16/+15
| | | | | Eliminate support for partial reads. The Linux kernel will never return partial results, so this buffering was unnecessary.
* *Save, *State: use the OutputStream API instead of FILE*Max Kellermann2014-07-305-37/+33
|
* db/proxy: implement Update()Max Kellermann2014-07-291-0/+19
|
* db/Interface: add virtual method Update()Max Kellermann2014-07-291-0/+12
| | | | For database plugins that don't use the UpdateService.
* Tag: add class const_iterator and methods begin(), end()Max Kellermann2014-07-123-9/+3
| | | | Enables using range-based "for".
* Merge branch 'v0.18.x'Max Kellermann2014-06-233-1/+42
|\
| * db/proxy: fall back to recursive walk on old libmpdclient/MPDMax Kellermann2014-06-231-1/+21
| | | | | | | | | | Error message was 'too few arguments for "find"' because the "base" constraint was not supported, and no other constraints remained.
| * db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3Max Kellermann2014-06-231-0/+5
| |
* | db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3Max Kellermann2014-06-231-0/+5
| |
* | db/proxy: initialize LightSong::real_uriMax Kellermann2014-06-211-0/+1
| | | | | | | | Fixes potential crash.
* | Directory: eliminate attribute "have_stat"Max Kellermann2014-06-163-4/+3
| | | | | | | | Check for 0 in "device" and "inode" instead.
* | db/simple: use class boost::intrusive::listMax Kellermann2014-06-168-144/+151
| | | | | | | | Remove the C list_head library and use type-safe C++ instead.
* | db/Count: implement groupingMax Kellermann2014-04-272-7/+82
| |
* | db/Count: add constructorMax Kellermann2014-04-271-2/+3
| |
* | DatabasePrint: move PrintSongCount() to Count.cxxMax Kellermann2014-04-264-54/+110
| |
* | db/Helpers: split libraryMax Kellermann2014-04-255-47/+98
| |
* | DatabasePrint: refactor variable/function namesMax Kellermann2014-04-252-21/+21
| |
* | db/Helpers: move code to tag/Set.cxxMax Kellermann2014-04-241-88/+1
| |
* | db/Helpers: move TagSet to dedicated headerMax Kellermann2014-04-241-24/+1
| |
* | db/Helpers: use set::emplace()Max Kellermann2014-04-241-0/+8
| |
* | DatabasePrint: eliminate printAllIn(), printInfoForAllIn()Max Kellermann2014-04-242-24/+0
| |
* | DatabasePrint: merge adjacent client_printf() callsMax Kellermann2014-04-241-2/+4
| |
* | DatabasePrint: pass const SearchStats referenceMax Kellermann2014-04-241-4/+5
| |
* | DatabasePrint: use unsigned countsMax Kellermann2014-04-241-3/+3
| |