aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* db/upnp/Directory: replace std::vector with a simple enumMax Kellermann2014-01-221-20/+34
| | | | Reduce bloat.
* db/upnp/Directory: join all CDATA nodes for tag valuesMax Kellermann2014-01-221-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" privateMax Kellermann2014-01-221-1/+2
|
* db/upnp: merge duplicate branches in Namei()Max Kellermann2014-01-211-25/+10
|
* db/upnp: simplify Namei()Max Kellermann2014-01-211-7/+6
|
* db/upnp: use std::list instead of std::vectorMax Kellermann2014-01-213-10/+11
| | | | Reduce overhead.
* db/upnp: use iterator in Namei()Max Kellermann2014-01-211-4/+5
|
* db/upnp: move "objid" declaration downMax Kellermann2014-01-211-2/+2
| | | | Don't allocate the object when it's not needed.
* db/upnp: eliminate redundant Namei() parameter "oobjid"Max Kellermann2014-01-211-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 Kellermann2014-01-211-4/+0
| | | | If Namei() succeeds, the object id is guaranteed to be set.
* db/upnp: use std::move() to extract server nameMax Kellermann2014-01-211-1/+1
| | | | Reduce runtime overhead.
* db/upnp: use vector::front() instead of [0]Max Kellermann2014-01-211-5/+5
|
* db/upnp: don't use stringToTokens() in ParseDuration()Max Kellermann2014-01-211-4/+20
| | | Reduce bloat.
* db/upnp: don't construct redundant empty vector<string> in Visit()Max Kellermann2014-01-211-1/+1
| | | | We know already that vpath is empty, let's use this instance.
* db/upnp: simplify GetSong()Max Kellermann2014-01-211-20/+18
|
* LightSong: add attribute "real_uri"Max Kellermann2014-01-214-25/+30
| | | | | The UPnP database plugin can now show relative song URIs for remote songs.
* DetachedSong: add attribute "real_uri"Max Kellermann2014-01-217-11/+62
| | | | Prepare for UPnP songs that retain there database identity.
* DetachedSong: remove parameter names from "defaulted" constructorsMax Kellermann2014-01-211-2/+2
| | | Suppresses gcc warnings.
* db/upnp: fix empty song URIMax Kellermann2014-01-211-3/+6
| | | | Fall back to UPnPDirObject::url if there is no override.
* DetachedSong: use "default" copy/move constructorsMax Kellermann2014-01-211-10/+2
| | | | Remove unnecessary explicit code.
* pcm/SoxrResampler: Add configurable quality levelsChase Geigle2014-01-213-3/+73
|
* PlaylistSong: modify the given song object in-placeMax Kellermann2014-01-214-74/+55
| | | | Reduce bloat.
* PlaylistSong: remove redundant "secure" checkMax Kellermann2014-01-211-3/+3
| | | | This has been verified already in the caller.
* PlaylistSong: recurse after applying base_uriMax Kellermann2014-01-201-3/+3
| | | | Allows applying map_to_relative_path() with base_uri.
* PlaylistSong: remove the IsInDatabase() checkMax Kellermann2014-01-201-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 pathMax Kellermann2014-01-201-18/+2
| | | | This didn't make sense.
* CommandLine: show the current git tag and commit idMax Kellermann2014-01-201-1/+5
|
* PlaylistSong: pass reference variables internallyMax Kellermann2014-01-201-18/+17
|
* Merge branch 'v0.18.x'Max Kellermann2014-01-2010-53/+53
|\
| * Queue: rename struct queue to QueueMax Kellermann2014-01-2010-53/+53
| | | | | | | | | | 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 Kellermann2014-01-201-1/+1
| |
* | Song: make the "parent" attribute mandatoryMax Kellermann2014-01-196-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 Kellermann2014-01-191-15/+1
| |
* | LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann2014-01-1942-223/+404
| | | | | | | | | | 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 Kellermann2014-01-191-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 Kellermann2014-01-192-3/+3
| | | | | | | | Simpler to use than const_cast.
* | Tag: pack attributes tighterMax Kellermann2014-01-192-7/+7
| | | | | | | | This saves another 3% memory.
* | Song: embed the Tag object statically into class SongMax Kellermann2014-01-1914-47/+26
| | | | | | | | | | Reduces overhead because we need to manage only one memory allocation. According to valgrind/massif, we save 7%.
* | Song: use the VarSize libraryMax Kellermann2014-01-182-13/+19
| |
* | db/upnp: move Tag from UPnPDirObject to SongMax Kellermann2014-01-181-11/+14
| | | | | | | | | | The UPnPDirObject is a temporary object, we can move its contents. This reduces runtime overhead.
* | db/upnp/Discovery: eliminate attribute "last_seen"Max Kellermann2014-01-182-6/+4
| |
* | db/upnp/Discovery: use monotonic clock instead of time()Max Kellermann2014-01-182-10/+18
| |
* | db/upnp/Discovery: eliminate full copy in getServer()Max Kellermann2014-01-182-9/+17
| |
* | db/upnp: use getServer() in Visit()Max Kellermann2014-01-181-17/+9
| | | | | | | | Reduce bloat.
* | db/upnp/Discovery: eliminate Error attributeMax Kellermann2014-01-183-51/+32
| | | | | | | | | | Move code to method Start() and add Error& parameters to several methods.
* | db/upnp: remove unnecessary m_superdir nullptr checksMax Kellermann2014-01-181-3/+3
| |
* | db/upnp: pass ContentDirectoryService referencesMax Kellermann2014-01-181-27/+27
| |
* | db/upnp: cache m_path.back()Max Kellermann2014-01-182-16/+18
| |
* | db/upnp: add UpnpMakeAction() helper functionMax Kellermann2014-01-182-30/+78
| |
* | db/upnp/ixmlwrap: getFirstElementValue() returns const char *Max Kellermann2014-01-185-27/+33
| | | | | | | | Eliminate the std::string bloat.