Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | db/proxy: support empty values in VisitUniqueTags() | Max Kellermann | 2014-09-18 | 1 | -0/+9 |
| | | | | Workaround for assertion failure in PrintUniqueTag(). | ||||
* | *: add missing Compiler.h includes | Max Kellermann | 2014-08-30 | 5 | -0/+5 |
| | | | | Necessary for "final" on gcc 4.6. | ||||
* | db/simple: fix build failure without zlib | Max Kellermann | 2014-08-30 | 1 | -1/+4 |
| | |||||
* | db/Stats: use std::chrono::duration for the total duration | Max Kellermann | 2014-08-29 | 3 | -4/+6 |
| | | | | Use milliseconds precision to reduce rounding errors. | ||||
* | db/upnp: use DatabaseStats::Clear() | Max Kellermann | 2014-08-29 | 1 | -4/+1 |
| | |||||
* | db/Count: use std::chrono::duration for the total time | Max Kellermann | 2014-08-29 | 1 | -6/+9 |
| | | | | Use milliseconds precision to reduce rounding errors. | ||||
* | Tag: use SignedSongTime for the song duration | Max Kellermann | 2014-08-29 | 6 | -19/+27 |
| | |||||
* | db/simple/Song: use std::chrono::duration for start_ms and end_ms | Max Kellermann | 2014-08-28 | 2 | -9/+11 |
| | |||||
* | db/LightSong: use std::chrono::duration for start_ms and end_ms | Max Kellermann | 2014-08-28 | 5 | -14/+15 |
| | |||||
* | DetachedSong: use std::chrono::duration for start_ms and end_ms | Max Kellermann | 2014-08-28 | 1 | -2/+2 |
| | |||||
* | db/simple: check for I/O errors in Load() | Max Kellermann | 2014-08-11 | 1 | -1/+1 |
| | |||||
* | db/simple: compress the database file using gzip | Max Kellermann | 2014-08-11 | 2 | -5/+60 |
| | |||||
* | fs/io/BufferedReader: new class to replace class TextFile | Max Kellermann | 2014-08-07 | 1 | -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 Kellermann | 2014-08-07 | 3 | -7/+7 |
| | |||||
* | db/update/InotifySource: remove FifoBuffer | Max Kellermann | 2014-08-06 | 2 | -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 Kellermann | 2014-07-30 | 5 | -37/+33 |
| | |||||
* | db/proxy: implement Update() | Max Kellermann | 2014-07-29 | 1 | -0/+19 |
| | |||||
* | db/Interface: add virtual method Update() | Max Kellermann | 2014-07-29 | 1 | -0/+12 |
| | | | | For database plugins that don't use the UpdateService. | ||||
* | Tag: add class const_iterator and methods begin(), end() | Max Kellermann | 2014-07-12 | 3 | -9/+3 |
| | | | | Enables using range-based "for". | ||||
* | Merge branch 'v0.18.x' | Max Kellermann | 2014-06-23 | 3 | -1/+42 |
|\ | |||||
| * | db/proxy: fall back to recursive walk on old libmpdclient/MPD | Max Kellermann | 2014-06-23 | 1 | -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.3 | Max Kellermann | 2014-06-23 | 1 | -0/+5 |
| | | |||||
* | | db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3 | Max Kellermann | 2014-06-23 | 1 | -0/+5 |
| | | |||||
* | | db/proxy: initialize LightSong::real_uri | Max Kellermann | 2014-06-21 | 1 | -0/+1 |
| | | | | | | | | Fixes potential crash. | ||||
* | | Directory: eliminate attribute "have_stat" | Max Kellermann | 2014-06-16 | 3 | -4/+3 |
| | | | | | | | | Check for 0 in "device" and "inode" instead. | ||||
* | | db/simple: use class boost::intrusive::list | Max Kellermann | 2014-06-16 | 8 | -144/+151 |
| | | | | | | | | Remove the C list_head library and use type-safe C++ instead. | ||||
* | | db/Count: implement grouping | Max Kellermann | 2014-04-27 | 2 | -7/+82 |
| | | |||||
* | | db/Count: add constructor | Max Kellermann | 2014-04-27 | 1 | -2/+3 |
| | | |||||
* | | DatabasePrint: move PrintSongCount() to Count.cxx | Max Kellermann | 2014-04-26 | 4 | -54/+110 |
| | | |||||
* | | db/Helpers: split library | Max Kellermann | 2014-04-25 | 5 | -47/+98 |
| | | |||||
* | | DatabasePrint: refactor variable/function names | Max Kellermann | 2014-04-25 | 2 | -21/+21 |
| | | |||||
* | | db/Helpers: move code to tag/Set.cxx | Max Kellermann | 2014-04-24 | 1 | -88/+1 |
| | | |||||
* | | db/Helpers: move TagSet to dedicated header | Max Kellermann | 2014-04-24 | 1 | -24/+1 |
| | | |||||
* | | db/Helpers: use set::emplace() | Max Kellermann | 2014-04-24 | 1 | -0/+8 |
| | | |||||
* | | DatabasePrint: eliminate printAllIn(), printInfoForAllIn() | Max Kellermann | 2014-04-24 | 2 | -24/+0 |
| | | |||||
* | | DatabasePrint: merge adjacent client_printf() calls | Max Kellermann | 2014-04-24 | 1 | -2/+4 |
| | | |||||
* | | DatabasePrint: pass const SearchStats reference | Max Kellermann | 2014-04-24 | 1 | -4/+5 |
| | | |||||
* | | DatabasePrint: use unsigned counts | Max Kellermann | 2014-04-24 | 1 | -3/+3 |
| | | |||||
* | | DatabaseCommands: "list" allows grouping | Max Kellermann | 2014-04-24 | 12 | -42/+166 |
| | | |||||
* | | db/Helpers: "list" on album artist falls back to the artist tag | Max Kellermann | 2014-04-24 | 1 | -1/+4 |
| | | |||||
* | | db/Helpers: move code to CheckUniqueTag() | Max Kellermann | 2014-04-24 | 1 | -6/+12 |
| | | |||||
* | | db/Helpers: use reference instead of pointer | Max Kellermann | 2014-04-24 | 1 | -4/+6 |
| | | |||||
* | | DatabaseCommands: fix crash on "list base" | Max Kellermann | 2014-04-24 | 1 | -0/+2 |
| | | | | | | | | | | | | The string "base" is understood by locate_parse_type(), but not by listAllUniqueTags(). The special tag type LOCATE_TAG_BASE_TYPE causes a crash in PrintUniqueTag(). | ||||
* | | DatabasePrint: convert "type" to unsigned | Max Kellermann | 2014-04-24 | 2 | -2/+2 |
| | | |||||
* | | db/proxy: check connect error before initializing SocketMonitor | Max Kellermann | 2014-03-06 | 1 | -7/+7 |
| | | | | | | | | | | Fixes crash bug because mpd_connection_get_async() was called without a connection. | ||||
* | | fs/StandardDirectory: add GetUserCacheDir() | Max Kellermann | 2014-03-01 | 1 | -15/+4 |
| | | | | | | | | | | | | Move code from CreateConfiguredDatabase() and add XDG support. This implements an automatic Linux fallback for the setting "db_file" if none was specified. | ||||
* | | db/Configured: store database file in cache directory | Max Kellermann | 2014-03-01 | 1 | -1/+25 |
| | | | | | | | | | | Add class Context which wraps the Android/Java Context class and add a JNI wrapper for method Context.getCacheDir(). | ||||
* | | db/update/ExcludeList: make no-op if GLib is disabled | Max Kellermann | 2014-03-01 | 2 | -0/+22 |
| | | | | | | | | Quick hack to allow using the database without GLib (for Android). | ||||
* | | command: add command "listfiles" | Max Kellermann | 2014-03-01 | 2 | -28/+44 |
| | | | | | | | | Lists files and directories. Supports storage plugins. | ||||
* | | DatabasePrint: move code to PrintDirectoryURI() | Max Kellermann | 2014-02-28 | 1 | -2/+8 |
| | |