Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | db/upnp: obtain char* from ixmlwrap::getFirstElementValue() | Max Kellermann | 2014-01-22 | 1 | -9/+13 |
| | | | | Fixes crash when there's no SearchCaps element. | ||||
* | db/upnp/Util: pass char* to csvToStrings() | Max Kellermann | 2014-01-22 | 3 | -8/+12 |
| | |||||
* | db/upnp: require an empty input capability set | Max Kellermann | 2014-01-22 | 1 | -1/+2 |
| | |||||
* | db/upnp/Util: handle absolute URI paths properly in caturl() | Max Kellermann | 2014-01-22 | 1 | -7/+20 |
| | | | | Fixes problems with some UPnP servers. | ||||
* | db/upnp/Util: use string::back(), string::front() | Max Kellermann | 2014-01-22 | 1 | -5/+5 |
| | |||||
* | db/upnp/Device: clear the "value" pointer on unknown element | Max Kellermann | 2014-01-22 | 1 | -0/+2 |
| | | | | Avoid appending to an obsolete string object. | ||||
* | Main: glue_mapper_init() returns true if GetUserMusicDir() fails | Max Kellermann | 2014-01-22 | 1 | -1/+1 |
| | | | | Not a fatal error. Fixes assertion failure. | ||||
* | db/upnp/Device: replace std::vector with a std::string pointer | Max Kellermann | 2014-01-22 | 3 | -47/+50 |
| | |||||
* | db/upnp/Device: remove unused UPnPService attributes | Max Kellermann | 2014-01-22 | 2 | -16/+0 |
| | |||||
* | db/upnp/Directory: "emplace" items into the vector | Max Kellermann | 2014-01-22 | 1 | -1/+1 |
| | |||||
* | db/upnp/Device: emplace/move the UPnPService into the vector | Max Kellermann | 2014-01-22 | 1 | -1/+1 |
| | | | | Reduce overhead. | ||||
* | db/upnp/Util: "emplace" items into the list | Max Kellermann | 2014-01-22 | 1 | -3/+3 |
| | | | | Reduce overhead. | ||||
* | db/upnp/Directory: replace std::vector with a simple enum | Max Kellermann | 2014-01-22 | 1 | -20/+34 |
| | | | | Reduce bloat. | ||||
* | db/upnp/Directory: join all CDATA nodes for tag values | Max Kellermann | 2014-01-22 | 1 | -11/+43 |
| | | | | | | Expat can call CharacterData() multiple times if the CDATA contains entity references. We need to collect all of them in one large string. | ||||
* | db/upnp/Directory: make "m_dir" private | Max Kellermann | 2014-01-22 | 1 | -1/+2 |
| | |||||
* | db/upnp: merge duplicate branches in Namei() | Max Kellermann | 2014-01-21 | 1 | -25/+10 |
| | |||||
* | db/upnp: simplify Namei() | Max Kellermann | 2014-01-21 | 1 | -7/+6 |
| | |||||
* | db/upnp: use std::list instead of std::vector | Max Kellermann | 2014-01-21 | 3 | -10/+11 |
| | | | | Reduce overhead. | ||||
* | db/upnp: use iterator in Namei() | Max Kellermann | 2014-01-21 | 1 | -4/+5 |
| | |||||
* | db/upnp: move "objid" declaration down | Max Kellermann | 2014-01-21 | 1 | -2/+2 |
| | | | | Don't allocate the object when it's not needed. | ||||
* | db/upnp: eliminate redundant Namei() parameter "oobjid" | Max Kellermann | 2014-01-21 | 1 | -12/+7 |
| | | | | | The caller should better obtain the object id from the returned UPnPDirObject instance. | ||||
* | db/upnp: remove redundant objid.empty() check from VisitServer() | Max Kellermann | 2014-01-21 | 1 | -4/+0 |
| | | | | If Namei() succeeds, the object id is guaranteed to be set. | ||||
* | db/upnp: use std::move() to extract server name | Max Kellermann | 2014-01-21 | 1 | -1/+1 |
| | | | | Reduce runtime overhead. | ||||
* | db/upnp: use vector::front() instead of [0] | Max Kellermann | 2014-01-21 | 1 | -5/+5 |
| | |||||
* | db/upnp: don't use stringToTokens() in ParseDuration() | Max Kellermann | 2014-01-21 | 1 | -4/+20 |
| | | | Reduce bloat. | ||||
* | db/upnp: don't construct redundant empty vector<string> in Visit() | Max Kellermann | 2014-01-21 | 1 | -1/+1 |
| | | | | We know already that vpath is empty, let's use this instance. | ||||
* | db/upnp: simplify GetSong() | Max Kellermann | 2014-01-21 | 1 | -20/+18 |
| | |||||
* | LightSong: add attribute "real_uri" | Max Kellermann | 2014-01-21 | 4 | -25/+30 |
| | | | | | The UPnP database plugin can now show relative song URIs for remote songs. | ||||
* | DetachedSong: add attribute "real_uri" | Max Kellermann | 2014-01-21 | 7 | -11/+62 |
| | | | | Prepare for UPnP songs that retain there database identity. | ||||
* | DetachedSong: remove parameter names from "defaulted" constructors | Max Kellermann | 2014-01-21 | 1 | -2/+2 |
| | | | Suppresses gcc warnings. | ||||
* | db/upnp: fix empty song URI | Max Kellermann | 2014-01-21 | 1 | -3/+6 |
| | | | | Fall back to UPnPDirObject::url if there is no override. | ||||
* | DetachedSong: use "default" copy/move constructors | Max Kellermann | 2014-01-21 | 1 | -10/+2 |
| | | | | Remove unnecessary explicit code. | ||||
* | pcm/SoxrResampler: Add configurable quality levels | Chase Geigle | 2014-01-21 | 4 | -4/+111 |
| | |||||
* | PlaylistSong: modify the given song object in-place | Max Kellermann | 2014-01-21 | 5 | -122/+86 |
| | | | | Reduce bloat. | ||||
* | test: add unit test for playlist_check_translate_song() | Max Kellermann | 2014-01-21 | 2 | -0/+306 |
| | |||||
* | PlaylistSong: remove redundant "secure" check | Max Kellermann | 2014-01-21 | 1 | -3/+3 |
| | | | | This has been verified already in the caller. | ||||
* | PlaylistSong: recurse after applying base_uri | Max Kellermann | 2014-01-20 | 1 | -3/+3 |
| | | | | Allows applying map_to_relative_path() with base_uri. | ||||
* | PlaylistSong: remove the IsInDatabase() check | Max Kellermann | 2014-01-20 | 1 | -4/+0 |
| | | | | | No caller passes a database song to this function, but if he does, this check doesn't make sense. | ||||
* | PlaylistSong: don't map relative URI to absolute path | Max Kellermann | 2014-01-20 | 1 | -18/+2 |
| | | | | This didn't make sense. | ||||
* | CommandLine: show the current git tag and commit id | Max Kellermann | 2014-01-20 | 2 | -1/+9 |
| | |||||
* | PlaylistSong: pass reference variables internally | Max Kellermann | 2014-01-20 | 1 | -18/+17 |
| | |||||
* | Merge branch 'v0.18.x' | Max Kellermann | 2014-01-20 | 12 | -55/+56 |
|\ | |||||
| * | Queue: rename struct queue to Queue | Max Kellermann | 2014-01-20 | 12 | -55/+56 |
| | | | | | | | | | | Works around a build failure on Solaris because annoyingly, Solaris reserves the name "queue". This rename was pending anyway. | ||||
| * | Queue: make the constructor "explicit" | Max Kellermann | 2014-01-20 | 1 | -1/+1 |
| | | |||||
* | | Song: make the "parent" attribute mandatory | Max Kellermann | 2014-01-19 | 6 | -21/+16 |
| | | | | | | | | | | The Song class is only used for database songs now. A Song without a Directory is not possible anymore. | ||||
* | | Directory: use Song::Export() | Max Kellermann | 2014-01-19 | 1 | -15/+1 |
| | | |||||
* | | LightSong: new class to be used by DatabasePlugin callbacks | Max Kellermann | 2014-01-19 | 44 | -237/+386 |
| | | | | | | | | | | Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread. | ||||
* | | db/proxy: simplify error handling in GetSong() | Max Kellermann | 2014-01-19 | 1 | -11/+9 |
| | | | | | | | | | | Check mpd_response_finish() before using mpd_song. Don't skip this check even if the mpd_song is non-nullptr. | ||||
* | | db/simple: make borrowed_song_count "mutable" | Max Kellermann | 2014-01-19 | 2 | -3/+3 |
| | | | | | | | | Simpler to use than const_cast. | ||||
* | | Tag: pack attributes tighter | Max Kellermann | 2014-01-19 | 2 | -7/+7 |
| | | | | | | | | This saves another 3% memory. |