John Regan 
							
						 
					 
					
						
						
							
						
						90a2109fd1 
					 
					
						
						
							
							gme: add configurable fade-out time  
						
						... 
						
						
						
						Also include fade-out time in song length. 
						
						
							
						
					 
					
						2020-04-26 09:21:57 -04:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						464b90210c 
					 
					
						
						
							
							tag/GenParseName: include stdlib.h for EXIT_SUCCESS  
						
						... 
						
						
						
						Closes https://github.com/MusicPlayerDaemon/MPD/issues/838  
						
						
							
						
					 
					
						2020-04-24 20:39:24 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fa45a8adfa 
					 
					
						
						
							
							tag/ParseName: generate an optimized tag_name_parse() at build time  
						
						
						
						
							
						
					 
					
						2020-04-24 16:28:29 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1532983fb5 
					 
					
						
						
							
							tag/Pool: use strncmp() without strlen() to compare strings  
						
						
						
						
							
						
					 
					
						2020-04-24 16:16:19 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ae5b2643da 
					 
					
						
						
							
							tag/Builder: reserve room in std::vector in default constructor  
						
						... 
						
						
						
						This reduces resource waste for resizing the std::vector in most
cases. 
						
						
							
						
					 
					
						2020-04-24 16:16:19 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						02556ffce9 
					 
					
						
						
							
							tag/Tag: use class DereferenceIterator  
						
						
						
						
							
						
					 
					
						2020-04-24 16:02:36 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						18ca734819 
					 
					
						
						
							
							util/DereferenceIterator: new utility class  
						
						
						
						
							
						
					 
					
						2020-04-24 16:02:31 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8a28f7b0a1 
					 
					
						
						
							
							tag/FixString: add optimistic quick check  
						
						... 
						
						
						
						Optimizes a few nanoseconds from the common code path. 
						
						
							
						
					 
					
						2020-04-24 15:57:40 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cc72ceb368 
					 
					
						
						
							
							tag/FixString: use IsPrintableASCII()  
						
						
						
						
							
						
					 
					
						2020-04-24 15:42:09 +02:00 
						 
				 
			
				
					
						
							
							
								Naglis Jonaitis 
							
						 
					 
					
						
						
							
						
						c021efced1 
					 
					
						
						
							
							Fix typo in documentation  
						
						
						
						
							
						
					 
					
						2020-04-24 00:36:46 +03:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0b3acc3eec 
					 
					
						
						
							
							Merge tag 'v0.21.23'  
						
						... 
						
						
						
						release v0.21.23 
						
						
							
						
					 
					
						2020-04-23 18:01:23 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						6c240f667c 
					 
					
						
						
							
							release v0.21.23  
						
						
						
						
							
 
						
					 
					
						2020-04-23 17:46:20 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3040ddb5ec 
					 
					
						
						
							
							lib/nfs/FileReader: use struct stat64 on Windows 32-bit  
						
						... 
						
						
						
						libnfs is compiled with `-D_FILE_OFFSET_BITS=64`, but Meson decides
not to enable this mode.  We could force this mode, but then again,
these days, nobody should be using 32-bit Windows ... so this is a
kludge only for debugging with 32-bit WINE. 
						
						
							
						
					 
					
						2020-04-23 17:32:34 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fdb28eb0c4 
					 
					
						
						
							
							fs/NarrowPath: preserve nullptr in Path operator  
						
						... 
						
						
						
						Fixes Path::IsNull() checks on Windows. 
						
						
							
						
					 
					
						2020-04-23 17:10:28 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7ded244a61 
					 
					
						
						
							
							lib/nfs/Connection: pass POLLHUP and POLLERR to nfs_service()  
						
						
						
						
							
						
					 
					
						2020-04-23 16:58:53 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8ed533acf3 
					 
					
						
						
							
							event/SocketMonitor: handle epoll_ctl()=EBADF/ENOENT in Schedule()  
						
						... 
						
						
						
						This fixes a freeze bug in the NFS input/storage plugins: when libnfs
auto-reconnets after a failure, it installs the new socket on the same
file descriptor number.  MPD's attempt to unregister the old socket by
calling SocketMonitor::Steal() from NfsConnection::ScheduleSocket()
fails because the new/old socket number is not registered in epoll, so
epoll_ctl() returns ENOENT.  The problem is that it left
`scheduled_flags`, and so subsequent Schedule() calls will use
`EPOLL_CTL_MOD`, which will fail again and again.  Instead, we need to
use `EPOLL_CTL_ADD` to register the new socket.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/806 
Closes https://github.com/MusicPlayerDaemon/MPD/issues/756  
						
						
							
						
					 
					
						2020-04-23 16:58:26 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a27580d0cc 
					 
					
						
						
							
							lib/nfs/Connection: don't pass HANGUP to Schedule()  
						
						... 
						
						
						
						This flag is output-only. 
						
						
							
						
					 
					
						2020-04-23 15:21:04 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						905db05cf9 
					 
					
						
						
							
							zeroconf/AvahiPoll: don't pass ERROR|HANGUP to Schedule()  
						
						... 
						
						
						
						These flags are output-only. 
						
						
							
						
					 
					
						2020-04-23 15:19:24 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4242aee21e 
					 
					
						
						
							
							event/SocketMonitor: remove HANGUP|ERROR from ScheduleRead()  
						
						... 
						
						
						
						These flags are output-only.  Using them here is misleading. 
						
						
							
						
					 
					
						2020-04-23 15:18:18 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e71bd2a08b 
					 
					
						
						
							
							event/PollGroupWinSelect: make EVENT_{READ,WRITE} static  
						
						
						
						
							
						
					 
					
						2020-04-23 15:10:57 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e53a4d0a9e 
					 
					
						
						
							
							lib/nfs/FileReader: reset state in OnNfsCallback()  
						
						... 
						
						
						
						The object's state is `IDLE` when OnNfsCallback() gets invoked, so
let's use the start of the method to reset the `state` field. 
						
						
							
						
					 
					
						2020-04-23 14:54:52 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						159389164a 
					 
					
						
						
							
							lib/nfs/FileReader: set state=IDLE before invoking callback  
						
						... 
						
						
						
						Fixes assertion failure if the callback fails. 
						
						
							
						
					 
					
						2020-04-23 14:51:43 +02:00 
						 
				 
			
				
					
						
							
							
								geneticdrift 
							
						 
					 
					
						
						
							
						
						0a92fbc18e 
					 
					
						
						
							
							tag/Fallback: add tag fallback for AlbumSort  
						
						... 
						
						
						
						Closes https://github.com/MusicPlayerDaemon/MPD/issues/832  
						
						
							
						
					 
					
						2020-04-22 22:00:38 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						138c29320b 
					 
					
						
						
							
							gme: adapt to API change in the upcoming version 0.7.0  
						
						... 
						
						
						
						Closes https://github.com/MusicPlayerDaemon/MPD/issues/833  
						
						
							
						
					 
					
						2020-04-22 21:53:00 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8f00dbea45 
					 
					
						
						
							
							lib/icu/Compare: add Windows implementation  
						
						... 
						
						
						
						Using CompareStringEx() and FindNLSStringEx().
Implements a missing piece for
https://github.com/MusicPlayerDaemon/MPD/issues/820  
						
						
							
						
					 
					
						2020-04-22 21:42:12 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f3fd2eb618 
					 
					
						
						
							
							lib/icu/Compare: use AllocatedString::Clone()  
						
						
						
						
							
						
					 
					
						2020-04-22 21:39:13 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fc92db83cf 
					 
					
						
						
							
							lib/icu/Collate: use NORM_IGNORECASE instead of LINGUISTIC_IGNORECASE  
						
						... 
						
						
						
						LINGUISTIC_IGNORECASE is unimplemented on Wine, but since we don't
have any locale support (yet), and we're using LOCALE_NAME_INVARIANT,
NORM_IGNORECASE should essentially be the same, so why bother. 
						
						
							
						
					 
					
						2020-04-22 21:39:13 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3b0f8d5516 
					 
					
						
						
							
							lib/icu/CaseFold: remove Windows implementation  
						
						... 
						
						
						
						Reverts commit fb3564fbe7https://github.com/MusicPlayerDaemon/MPD/issues/820  
						
						
							
						
					 
					
						2020-04-22 19:32:36 +02:00 
						 
				 
			
				
					
						
							
							
								Rosen Penev 
							
						 
					 
					
						
						
							
						
						a5273d6992 
					 
					
						
						
							
							Fix unsafe float comparison.  
						
						... 
						
						
						
						Switching == to >= should be safe here since the next if is the opposite.
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2020-04-22 18:21:40 +02:00 
						 
				 
			
				
					
						
							
							
								Rosen Penev 
							
						 
					 
					
						
						
							
						
						6979be008c 
					 
					
						
						
							
							[clang-tidy] use auto  
						
						... 
						
						
						
						Found with modernize-use-auto.
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2020-04-22 18:21:07 +02:00 
						 
				 
			
				
					
						
							
							
								Rosen Penev 
							
						 
					 
					
						
						
							
						
						71792ffd43 
					 
					
						
						
							
							[clang-tidy] use raw string  
						
						... 
						
						
						
						Found with modernize-raw-string-literal
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2020-04-22 18:21:00 +02:00 
						 
				 
			
				
					
						
							
							
								Rosen Penev 
							
						 
					 
					
						
						
							
						
						3c145c0f49 
					 
					
						
						
							
							[clang-tidy] add nodiscard  
						
						... 
						
						
						
						Found with modernize-use-nodiscard
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2020-04-22 18:20:51 +02:00 
						 
				 
			
				
					
						
							
							
								Thomas Guillem 
							
						 
					 
					
						
						
							
						
						b18074f899 
					 
					
						
						
							
							storage/curl: fix path comparison when the server escapes differently  
						
						... 
						
						
						
						Unescape the base path and the path coming from the server (href) to fix the
comparison when the server uses different escaped characters.
The outputted name need to be unescaped. Doing that before or after the
HrefToEscapedName() call should not change the current behavior. 
						
						
							
						
					 
					
						2020-04-15 13:50:12 +02:00 
						 
				 
			
				
					
						
							
							
								Thomas Guillem 
							
						 
					 
					
						
						
							
						
						3d8067a041 
					 
					
						
						
							
							storage/curl: fix href when file has a '&' char  
						
						... 
						
						
						
						If the file name is "Hello & bye", 3 CharacterData events will be sent with the
State::HREF state:
 - "Hello%20"
 - "&"
 - "%20bye"
Reproduced with files hosted on an apache2 DAV server: 2.4.38-3+deb10u3. 
						
						
							
						
					 
					
						2020-04-15 13:18:16 +02:00 
						 
				 
			
				
					
						
							
							
								Florian Heese 
							
						 
					 
					
						
						
							
						
						f6fe001fa9 
					 
					
						
						
							
							Added missing channel order setups for ALSA  
						
						
						
						
							
						
					 
					
						2020-04-15 13:13:09 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						55b8f2c533 
					 
					
						
						
							
							NEWS: add line about Solaris change  
						
						
						
						
							
						
					 
					
						2020-04-14 16:11:18 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						32a5bf043b 
					 
					
						
						
							
							player/Thread: drain outputs at end of song in "single" mode  
						
						... 
						
						
						
						Without this, the Pause() call would drop the ring buffers and would
skip a considerable portion of the end of the song.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/824  
						
						
							
						
					 
					
						2020-04-14 16:07:03 +02:00 
						 
				 
			
				
					
						
							
							
								nia 
							
						 
					 
					
						
						
							
						
						8437b141a4 
					 
					
						
						
							
							SolarisOutputPlugin: Support S8 and S32 encodings.  
						
						
						
						
							
						
					 
					
						2020-04-14 14:38:30 +01:00 
						 
				 
			
				
					
						
							
							
								nia 
							
						 
					 
					
						
						
							
						
						1f0881eec0 
					 
					
						
						
							
							SolarisOutputPlugin: Use AUDIO_INITINFO for initialization  
						
						... 
						
						
						
						This is recommended by Solaris and NetBSD documentation. 
						
						
							
						
					 
					
						2020-04-14 14:20:24 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8d2079482f 
					 
					
						
						
							
							Merge branch 'lkj' of git://github.com/neheb/MPD into v0.21.x  
						
						
						
						
							
						
					 
					
						2020-04-14 13:12:42 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c331c75fde 
					 
					
						
						
							
							increment version number to 0.21.23  
						
						
						
						
							
						
					 
					
						2020-04-14 13:12:36 +02:00 
						 
				 
			
				
					
						
							
							
								Rosen Penev 
							
						 
					 
					
						
						
							
						
						6080c3b4ba 
					 
					
						
						
							
							Math.hxx: move cmath include out of define  
						
						... 
						
						
						
						The _GLIBCXX_USE_C99_MATH macro is defined in glibcxx by c++config.h, which
gets included by every header. Which means a header needs to be present.
(cherry picked from commit 79e9aff338 
						
						
							
						
					 
					
						2020-04-09 14:24:06 -07:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3c240e2119 
					 
					
						
						
							
							db/simple/DirectorySave: pass std::string_view to _load_subdir()  
						
						... 
						
						
						
						Eliminates one strlen() call. 
						
						
							
						
					 
					
						2020-04-08 23:54:58 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						57fb153c5d 
					 
					
						
						
							
							db/Interface: pass std::string_view to GetSong()  
						
						
						
						
							
						
					 
					
						2020-04-08 23:43:59 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						212401d687 
					 
					
						
						
							
							db/update/Service: pass std::string_view to Enqueue()  
						
						
						
						
							
						
					 
					
						2020-04-08 23:38:28 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						dd831d3922 
					 
					
						
						
							
							db/simple: pass std::string_view to Directory::LookupDirectory()  
						
						
						
						
							
						
					 
					
						2020-04-08 23:38:24 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9f8dc31b50 
					 
					
						
						
							
							input/Plugin: copy protocols() to stack before using it  
						
						... 
						
						
						
						Fixes regression by commit 015cbff93d 
						
						
							
						
					 
					
						2020-04-08 23:37:32 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						db93bb996c 
					 
					
						
						
							
							util/SplitString: convert return value to std::string_view  
						
						... 
						
						
						
						Eliminates lots of overhead. 
						
						
							
						
					 
					
						2020-04-08 23:14:25 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2c02a04566 
					 
					
						
						
							
							db/update/Walk: pass std::string_view to DirectoryMakeUriParentChecked()  
						
						... 
						
						
						
						Split the string into path segments with StringView::Split().  This
prepares to eliminate all allocations from the method. 
						
						
							
						
					 
					
						2020-04-08 23:09:37 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f13f66487a 
					 
					
						
						
							
							fs/Charset: pass std::string_view to PathToUTF8()  
						
						
						
						
							
						
					 
					
						2020-04-08 23:04:37 +02:00