Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-12-26 | db/lazy, input/mms: add "override" keywords | Max Kellermann | 1 | -2/+4 | |
Fixes -Winconsistent-missing-override (clang 3.6). | |||||
2014-08-29 | db/upnp: use DatabaseStats::Clear() | Max Kellermann | 1 | -4/+1 | |
2014-08-28 | db/LightSong: use std::chrono::duration for start_ms and end_ms | Max Kellermann | 1 | -2/+2 | |
2014-04-24 | DatabaseCommands: "list" allows grouping | Max Kellermann | 1 | -7/+12 | |
2014-02-19 | db/upnp: move plugin source to upnp directory | Max Kellermann | 1 | -2/+2 | |
2014-02-19 | DatabasePlugin: add attribute "flags" | Max Kellermann | 1 | -0/+1 | |
2014-02-19 | db/Interface: add attribute "plugin" | Max Kellermann | 1 | -0/+2 | |
The new method IsPlugin() replaces the "is_simple" flag. | |||||
2014-02-19 | DatabasePlugin: split header | Max Kellermann | 1 | -0/+2 | |
2014-01-26 | db/upnp: remove sleep(2) call | Max Kellermann | 1 | -3/+0 | |
This call was unnecessary. It is a bad idea anyway to block the MPD process for some arbitrary amount of time. | |||||
2014-01-26 | upnp: initialize the client handle only once | Max Kellermann | 1 | -16/+10 | |
Eliminate class LibUPnP and move the code to ClientInit.cxx. Its initialization function can be called multiple times, but UpnpRegisterClient() is called at most once. | |||||
2014-01-26 | upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnP | Max Kellermann | 1 | -1/+1 | |
2014-01-26 | db/upnp: move generic code to lib/upnp/ | Max Kellermann | 1 | -5/+5 | |
2014-01-26 | db/upnp: rename variables | Max Kellermann | 1 | -21/+21 | |
2014-01-24 | Database*: move to db/ | Max Kellermann | 1 | -5/+5 | |
2014-01-24 | Config*: move to config/ | Max Kellermann | 1 | -1/+1 | |
2014-01-23 | db/upnp: strict vpath checks for the "root" directory | Max Kellermann | 1 | -0/+20 | |
2014-01-23 | db/upnp: move code to VisitObject() | Max Kellermann | 1 | -22/+33 | |
2014-01-23 | db/upnp: merge two PathTraitsUTF8::Build() calls | Max Kellermann | 1 | -16/+4 | |
2014-01-23 | db/upnp: move code to VisitItem() | Max Kellermann | 1 | -61/+56 | |
2014-01-23 | db/upnp: fix subdirectory paths in "listallinfo" | Max Kellermann | 1 | -3/+3 | |
Add missing server name prefix. | |||||
2014-01-23 | base_uri | Max Kellermann | 1 | -0/+4 | |
2014-01-23 | db/upnp: pass char* to visitSong() | Max Kellermann | 1 | -6/+6 | |
Don't use std::string, reduce bloat. | |||||
2014-01-22 | db/upnp: call VisitDirectory on servers, even in recursive mode | Max Kellermann | 1 | -14/+10 | |
2014-01-22 | db/upnp: make several methods "const" | Max Kellermann | 1 | -12/+12 | |
2014-01-22 | db/upnp: inline Configure() | Max Kellermann | 1 | -1/+1 | |
2014-01-22 | db/upnp: don't duplicate song data for VisitSong | Max Kellermann | 1 | -2/+9 | |
Not necessary because we control the LightSong's life cycle. | |||||
2014-01-22 | db/proxy: merge redundant string::push_back() calls | Max Kellermann | 1 | -4/+2 | |
2014-01-22 | db/upnp: use PathTraitsUTF8::Build() | Max Kellermann | 1 | -5/+14 | |
2014-01-22 | LightDirectory: new struct replacing Directory in the DB API | Max Kellermann | 1 | -9/+4 | |
2014-01-22 | db/upnp: append characters instead of single-character strings | Max Kellermann | 1 | -2/+2 | |
2014-01-22 | db/upnp: use string::push_back() instead of string::append() | Max Kellermann | 1 | -5/+5 | |
2014-01-22 | db/upnp: use std::list instead of std::set for SearchCapabilities | Max Kellermann | 1 | -1/+1 | |
Reduce bloat. We never used the set lookup. | |||||
2014-01-21 | db/upnp: merge duplicate branches in Namei() | Max Kellermann | 1 | -25/+10 | |
2014-01-21 | db/upnp: simplify Namei() | Max Kellermann | 1 | -7/+6 | |
2014-01-21 | db/upnp: use std::list instead of std::vector | Max Kellermann | 1 | -6/+7 | |
Reduce overhead. | |||||
2014-01-21 | db/upnp: use iterator in Namei() | Max Kellermann | 1 | -4/+5 | |
2014-01-21 | db/upnp: move "objid" declaration down | Max Kellermann | 1 | -2/+2 | |
Don't allocate the object when it's not needed. | |||||
2014-01-21 | db/upnp: eliminate redundant Namei() parameter "oobjid" | Max Kellermann | 1 | -12/+7 | |
The caller should better obtain the object id from the returned UPnPDirObject instance. | |||||
2014-01-21 | db/upnp: remove redundant objid.empty() check from VisitServer() | Max Kellermann | 1 | -4/+0 | |
If Namei() succeeds, the object id is guaranteed to be set. | |||||
2014-01-21 | db/upnp: use std::move() to extract server name | Max Kellermann | 1 | -1/+1 | |
Reduce runtime overhead. | |||||
2014-01-21 | db/upnp: use vector::front() instead of [0] | Max Kellermann | 1 | -5/+5 | |
2014-01-21 | db/upnp: don't construct redundant empty vector<string> in Visit() | Max Kellermann | 1 | -1/+1 | |
We know already that vpath is empty, let's use this instance. | |||||
2014-01-21 | db/upnp: simplify GetSong() | Max Kellermann | 1 | -20/+18 | |
2014-01-21 | LightSong: add attribute "real_uri" | Max Kellermann | 1 | -24/+18 | |
The UPnP database plugin can now show relative song URIs for remote songs. | |||||
2014-01-21 | db/upnp: fix empty song URI | Max Kellermann | 1 | -3/+6 | |
Fall back to UPnPDirObject::url if there is no override. | |||||
2014-01-19 | LightSong: new class to be used by DatabasePlugin callbacks | Max Kellermann | 1 | -31/+40 | |
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread. | |||||
2014-01-19 | Song: embed the Tag object statically into class Song | Max Kellermann | 1 | -1/+1 | |
Reduces overhead because we need to manage only one memory allocation. According to valgrind/massif, we save 7%. | |||||
2014-01-18 | db/upnp: move Tag from UPnPDirObject to Song | Max Kellermann | 1 | -11/+14 | |
The UPnPDirObject is a temporary object, we can move its contents. This reduces runtime overhead. | |||||
2014-01-18 | db/upnp: use getServer() in Visit() | Max Kellermann | 1 | -17/+9 | |
Reduce bloat. | |||||
2014-01-18 | db/upnp/Discovery: eliminate Error attribute | Max Kellermann | 1 | -21/+4 | |
Move code to method Start() and add Error& parameters to several methods. |