| 
							
							
								 Max Kellermann | b7738e7af3 | db/upnp/Directory: join all CDATA nodes for tag values Expat can call CharacterData() multiple times if the CDATA contains
entity references.  We need to collect all of them in one large
string. | 2014-01-22 08:44:35 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 99bebabac9 | db/upnp/Directory: make "m_dir" private | 2014-01-22 08:44:20 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 0ed48b364a | db/upnp: merge duplicate branches in Namei() | 2014-01-21 23:42:02 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | b38b8b9c18 | db/upnp: simplify Namei() | 2014-01-21 23:37:27 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 5434856136 | db/upnp: use std::list instead of std::vector Reduce overhead. | 2014-01-21 23:33:28 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | aa1eb2f40d | db/upnp: use iterator in Namei() | 2014-01-21 23:32:42 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 7260d7883c | db/upnp: move "objid" declaration down Don't allocate the object when it's not needed. | 2014-01-21 23:10:30 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 154250f551 | db/upnp: eliminate redundant Namei() parameter "oobjid" The caller should better obtain the object id from the returned
UPnPDirObject instance. | 2014-01-21 23:07:33 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 3e4fb92cfb | db/upnp: remove redundant objid.empty() check from VisitServer() If Namei() succeeds, the object id is guaranteed to be set. | 2014-01-21 23:07:06 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 0da713e278 | db/upnp: use std::move() to extract server name Reduce runtime overhead. | 2014-01-21 22:57:54 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 94cb1545b3 | db/upnp: use vector::front() instead of [0] | 2014-01-21 22:57:16 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 411527a240 | db/upnp: don't use stringToTokens() in ParseDuration() Reduce bloat. | 2014-01-21 22:52:12 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 7777057d35 | db/upnp: don't construct redundant empty vector<string> in Visit() We know already that vpath is empty, let's use this instance. | 2014-01-21 22:47:57 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | dc5ef9ad01 | db/upnp: simplify GetSong() | 2014-01-21 22:43:04 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 7471f65d95 | LightSong: add attribute "real_uri" The UPnP database plugin can now show relative song URIs for remote
songs. | 2014-01-21 21:08:11 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 5d4b450c52 | DetachedSong: add attribute "real_uri" Prepare for UPnP songs that retain there database identity. | 2014-01-21 21:06:56 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 483b1f51c9 | DetachedSong: remove parameter names from "defaulted" constructors Suppresses gcc warnings. | 2014-01-21 21:06:56 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | ecac7a629e | db/upnp: fix empty song URI Fall back to UPnPDirObject::url if there is no override. | 2014-01-21 21:02:21 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 21209ff46b | DetachedSong: use "default" copy/move constructors Remove unnecessary explicit code. | 2014-01-21 20:38:13 +01:00 |  | 
			
				
					| 
							
							
								 Chase Geigle | 716bdc36fd | pcm/SoxrResampler: Add configurable quality levels | 2014-01-21 20:35:26 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 4f120f3714 | PlaylistSong: modify the given song object in-place Reduce bloat. | 2014-01-21 00:28:37 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | dd20a3ce7e | test: add unit test for playlist_check_translate_song() | 2014-01-21 00:28:34 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | c727c86245 | PlaylistSong: remove redundant "secure" check This has been verified already in the caller. | 2014-01-21 00:28:32 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 82b4ec22be | PlaylistSong: recurse after applying base_uri Allows applying map_to_relative_path() with base_uri. | 2014-01-20 23:47:43 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 501f1e6de0 | PlaylistSong: remove the IsInDatabase() check No caller passes a database song to this function, but if he does,
this check doesn't make sense. | 2014-01-20 23:32:03 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 414d5b648c | PlaylistSong: don't map relative URI to absolute path This didn't make sense. | 2014-01-20 23:31:08 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | a237e7f860 | CommandLine: show the current git tag and commit id | 2014-01-20 23:31:08 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 07a3bef25c | PlaylistSong: pass reference variables internally | 2014-01-20 19:57:26 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | da67260c95 | new developer mailing list | 2014-01-20 17:20:57 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 2f51285349 | Merge branch 'v0.18.x' | 2014-01-20 09:05:36 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | ab9c9068d4 | Queue: rename struct queue to Queue Works around a build failure on Solaris because annoyingly, Solaris
reserves the name "queue".  This rename was pending anyway. | 2014-01-20 08:57:46 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 6b4d7d7315 | Queue: make the constructor "explicit" | 2014-01-20 08:57:41 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 64465c1318 | Song: make the "parent" attribute mandatory The Song class is only used for database songs now.  A Song without a
Directory is not possible anymore. | 2014-01-19 23:16:09 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | a506adea41 | Directory: use Song::Export() | 2014-01-19 23:16:08 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | f5ae1ce00b | LightSong: new class to be used by DatabasePlugin callbacks Detach the Song class completely from the public API, only to be used
by SimpleDatabase and the update thread. | 2014-01-19 17:04:51 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 738d6f1040 | db/proxy: simplify error handling in GetSong() Check mpd_response_finish() before using mpd_song.  Don't skip this
check even if the mpd_song is non-nullptr. | 2014-01-19 11:37:42 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | ba372197fb | db/simple: make borrowed_song_count "mutable" Simpler to use than const_cast. | 2014-01-19 11:23:02 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | bde27ccec3 | Tag: pack attributes tighter This saves another 3% memory. | 2014-01-19 03:11:01 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | d2cf74027c | Song: embed the Tag object statically into class Song Reduces overhead because we need to manage only one memory allocation.
According to valgrind/massif, we save 7%. | 2014-01-19 02:58:55 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | bc966577ff | Song: use the VarSize library | 2014-01-18 19:24:55 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | fdf4dff561 | db/upnp: move Tag from UPnPDirObject to Song The UPnPDirObject is a temporary object, we can move its contents.
This reduces runtime overhead. | 2014-01-18 19:09:42 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | fab6cbed75 | db/upnp/Discovery: eliminate attribute "last_seen" | 2014-01-18 16:28:12 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 051eede1ed | db/upnp/Discovery: use monotonic clock instead of time() | 2014-01-18 16:26:11 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 0696cac50b | db/upnp/Discovery: eliminate full copy in getServer() | 2014-01-18 16:18:51 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 0c2485e86c | db/upnp: use getServer() in Visit() Reduce bloat. | 2014-01-18 16:13:33 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 7d696a7063 | db/upnp/Discovery: eliminate Error attribute Move code to method Start() and add Error& parameters to several
methods. | 2014-01-18 16:08:30 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 53573e950f | db/upnp: remove unnecessary m_superdir nullptr checks | 2014-01-18 16:02:21 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 1e99983263 | db/upnp: pass ContentDirectoryService references | 2014-01-18 15:58:02 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | 5409e43fb5 | db/upnp: cache m_path.back() | 2014-01-18 15:44:41 +01:00 |  | 
			
				
					| 
							
							
								 Max Kellermann | f33f891c54 | db/upnp: add UpnpMakeAction() helper function | 2014-01-18 15:27:54 +01:00 |  |