Max Kellermann 
							
						 
					 
					
						
						
							
						
						f357f743a3 
					 
					
						
						
							
							pcm/Volume: use transform_n()  
						
						
						
						
					 
					
						2019-08-10 12:05:37 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						91e565d92e 
					 
					
						
						
							
							pcm/PcmFormat: use transform_n()  
						
						
						
						
					 
					
						2019-08-10 12:05:35 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a189a9e478 
					 
					
						
						
							
							util/TransformN: new library  
						
						
						
						
					 
					
						2019-08-10 11:59:47 +02:00 
						 
				 
			
				
					
						
							
							
								Fredrik Noring 
							
						 
					 
					
						
						
							
						
						9654a33218 
					 
					
						
						
							
							decoder/sidplay: Fix empty album names by using the SID name field  
						
						... 
						
						
						
						SID files are generally collections of tunes, so a SID name field makes
sense as an MPD album. The SID tune information list (STIL) has name
and title fields for individual tunes, when such are known, but MPD is
currently not using the STIL. 
						
						
					 
					
						2019-08-10 11:01:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9bcd02d178 
					 
					
						
						
							
							Merge branch 'v0.21.x'  
						
						
						
						
					 
					
						2019-08-10 10:58:32 +02:00 
						 
				 
			
				
					
						
							
							
								Fredrik Noring 
							
						 
					 
					
						
						
							
						
						2d61e526de 
					 
					
						
						
							
							decoder/sidplay: Fix date field to have year but not company or author  
						
						... 
						
						
						
						Field 2 is called <released>, formerly used as <copyright>[1][2]. It is
formatted <year><space><company or author or group>, where <year> may be
<YYYY>, <YYY?>, <YY??> or <YYYY-YY>, for example "1987", "199?", "19??"
or "1985-87". The <company or author or group> may be for example Rob
Hubbard. A full field may be for example "1987 Rob Hubbard".
This change splits the <released> field at the first <space>, to retain
the <year> part.
The 51823 SID files in High Voltage SID Collection (HVSC) version 71
have the following distribution of dates:
    333 19??         11 1990-92       6 1995-99       2 2006-08
    827 198?         88 1990-93    2140 1996        530 2007
     32 1982         69 1990-94       9 1996-97      15 2007-08
      1 1982-83      49 1990-95       2 1996-98       2 2007-09
    255 1983       3467 1991          5 1996-99       1 2007-10
    677 1984         75 1991-92    1840 1997        430 2008
    775 1985         65 1991-93       4 1997-98      23 2008-09
      3 1985-86      10 1991-94    1276 1998          1 2008-12
     10 1985-87      35 1991-97       4 1998-99     631 2009
    943 1986       3320 1992        865 1999          1 2009-10
     12 1986-87      26 1992-93      24 200?        645 2010
      5 1986-89      59 1992-94     590 2000          1 2010-12
   2083 1987          1 1992-96       4 2000-01     538 2011
     31 1987-88    2996 1993        727 2001          1 2011-12
     44 1987-89      42 1993-94     875 2002        651 2012
   2510 1988         12 1993-95       2 2002-04     811 2013
    129 1988-89       2 1993-97     844 2003        790 2014
     91 1988-90    2737 1994          3 2003-05     740 2015
     58 1988-91      16 1994-95     842 2004        792 2016
   3466 1989         20 1994-96       2 2004-05     775 2017
     95 1989-90      17 1994-97     707 2005        638 2018
    150 1989-91    2271 1995          1 2005-06     284 2019
   1077 199?          2 1995-96       2 2005-07
   2834 1990          4 1995-97     785 2006
    119 1990-91       2 1995-98       6 2006-07
References:
[1] https://www.hvsc.c64.org/download/C64Music/DOCUMENTS/SID_file_format.txt 
[2] https://hvsc.c64.org/info  
						
						
					 
					
						2019-08-10 10:50:51 +02:00 
						 
				 
			
				
					
						
							
							
								Fredrik Noring 
							
						 
					 
					
						
						
							
						
						7723c481db 
					 
					
						
						
							
							decoder/sidplay: Fix windows-1252 to utf-8 string conversion  
						
						... 
						
						
						
						High Voltage SID Collection (HVSC) metadata fields are encoded in
windows-1252, as described in DOCUMENTS/SID_file_format.txt:
https://www.hvsc.c64.org/download/C64Music/DOCUMENTS/SID_file_format.txt 
If utf-8 transcoding fails, or the ICU library is unavailable, fall
back to plain ASCII and replace other characters with '?'. 
						
						
					 
					
						2019-08-10 10:45:02 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cf9ee33928 
					 
					
						
						
							
							input/icy: support "charset" parameter in URI fragment  
						
						... 
						
						
						
						Closes https://github.com/MusicPlayerDaemon/MPD/issues/616  
						
						
					 
					
						2019-08-10 10:07:13 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4a47bbd816 
					 
					
						
						
							
							IcyMetadataParser: implement charset conversion  
						
						
						
						
					 
					
						2019-08-10 10:07:13 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7654038d65 
					 
					
						
						
							
							util/UriQueryParser: new library  
						
						
						
						
					 
					
						2019-08-09 20:39:34 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e4612ecb66 
					 
					
						
						
							
							util/UriExtract: add uri_get_fragment()  
						
						
						
						
					 
					
						2019-08-09 20:39:23 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9c6850210d 
					 
					
						
						
							
							util/UriExtract: uri_get_scheme() returns StringView  
						
						... 
						
						
						
						Reduce overhead by not duplicating the string. 
						
						
					 
					
						2019-08-09 20:21:37 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						40a2880857 
					 
					
						
						
							
							util/UriUtil: split  
						
						
						
						
					 
					
						2019-08-09 20:21:12 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ade712d711 
					 
					
						
						
							
							util/UriUtil: relicense as BSD-2  
						
						
						
						
					 
					
						2019-08-09 20:16:02 +02:00 
						 
				 
			
				
					
						
							
							
								Fredrik Noring 
							
						 
					 
					
						
						
							
						
						0ed10542cc 
					 
					
						
						
							
							decoder/sidplay: Fix song length initialisation during container scan  
						
						... 
						
						
						
						The song length was previously undetermined. 
						
						
					 
					
						2019-08-09 15:39:36 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						349a2ea7eb 
					 
					
						
						
							
							Merge branch 'sid-genre-option' of git://github.com/frno7/MPD  
						
						
						
						
					 
					
						2019-08-09 14:45:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						192ad91010 
					 
					
						
						
							
							Merge tag 'v0.21.13'  
						
						... 
						
						
						
						release v0.21.13 
						
						
					 
					
						2019-08-06 11:39:25 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bcccc8f66c 
					 
					
						
						
							
							output/jack: use jack_free() for Windows compatibility  
						
						
						
						
					 
					
						2019-08-06 11:34:56 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						848c63e2d5 
					 
					
						
						
							
							output/jack: use std::atomic_bool for "shutdown" and "pause"  
						
						... 
						
						
						
						Without this, the compiler may optimize accesses away. 
						
						
					 
					
						2019-08-06 11:34:00 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f6d0310f9c 
					 
					
						
						
							
							output/jack: use SIZE_MAX instead of (size_t)-1  
						
						
						
						
					 
					
						2019-08-06 11:33:52 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3ef043392c 
					 
					
						
						
							
							input/cdio_paranoia: drop support for libcdio-paranoia older than 10.2+0.93+1  
						
						... 
						
						
						
						Version 10.2+0.93+1 was released five years ago in 2014 and is the
first version to feature cdio_cddap_free_messages().  There is no way
to check the libcdio-paranoia version at compile time, so let's just
remove support for older versions instead of attempting to fix the
cdio_cddap_free_messages() check at build time.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/613  
						
						
					 
					
						2019-08-06 11:09:36 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						864d6f312d 
					 
					
						
						
							
							Revert "decoder/mad: use MAD_F_MIN and MAD_F_MAX"  
						
						... 
						
						
						
						This reverts commit f7ed7446aehttps://github.com/MusicPlayerDaemon/MPD/issues/617  
						
						
					 
					
						2019-08-05 13:07:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						91fb91d89c 
					 
					
						
						
							
							util/StringView: prepare the transition to std::string_view  
						
						... 
						
						
						
						Unfortunately, we need to disable this for GCC versions older than 7,
because it doesn't have <string_view> yet. 
						
						
					 
					
						2019-08-05 10:23:05 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8b399b7133 
					 
					
						
						
							
							output/jack: use jack_free() for Windows compatibility  
						
						
						
						
					 
					
						2019-08-05 09:35:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9d24f68f51 
					 
					
						
						
							
							output/jack: convert to class, make attributes/methods private  
						
						
						
						
					 
					
						2019-08-05 09:31:40 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						44652fdb13 
					 
					
						
						
							
							output/jack: convert callback functions to static methods  
						
						
						
						
					 
					
						2019-08-05 09:29:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2892a6f5e2 
					 
					
						
						
							
							output/jack: merge set_audioformat() into Open()  
						
						
						
						
					 
					
						2019-08-05 09:28:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2fc40e5575 
					 
					
						
						
							
							output/jack: eliminate "shutdown" flag, use only "error" (mutex protected)  
						
						
						
						
					 
					
						2019-08-05 09:24:43 +02:00 
						 
				 
			
				
					
						
							
							
								Fredrik Noring 
							
						 
					 
					
						
						
							
						
						7363fe90bb 
					 
					
						
						
							
							decoder/sidplay: Add "default_genre" option  
						
						... 
						
						
						
						Genres are not part of the SID format, so SID files are genreless. This
"default_genre" option may be used to assign a default genre to all SID
music, for example "SID", "C64", "Chiptune", etc. 
						
						
					 
					
						2019-08-05 06:23:40 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d146bef740 
					 
					
						
						
							
							output/jack: use jack_on_info_shutdown()  
						
						
						
						
					 
					
						2019-08-04 20:25:13 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1f4c4be1f1 
					 
					
						
						
							
							output/jack: use std::atomic_bool for "shutdown" and "pause"  
						
						... 
						
						
						
						Without this, the compiler may optimize accesses away. 
						
						
					 
					
						2019-08-04 20:24:51 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						90067d16c0 
					 
					
						
						
							
							output/jack: use SIZE_MAX instead of (size_t)-1  
						
						
						
						
					 
					
						2019-08-04 06:34:43 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cde6c46d2f 
					 
					
						
						
							
							util/Macros: replace with std::size() (C++17)  
						
						
						
						
					 
					
						2019-08-03 13:10:49 +02:00 
						 
				 
			
				
					
						
							
							
								ckdo 
							
						 
					 
					
						
						
							
						
						d305f187d5 
					 
					
						
						
							
							Add the ability to specify media.role for pulse output plugin  
						
						... 
						
						
						
						This is useful in multiple mpd instances scenario, or multiple pulse outputs defined on the same mpd instance.
It is actually a more flexible way to route flows than the "sink" parameter, letting the PulseAudio routing do its job, but with the ability to isolate routing for each output.
If not specified, the role remains like it was before this commit, ie "music" 
						
						
					 
					
						2019-08-03 13:03:05 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Dodd 
							
						 
					 
					
						
						
							
						
						4f6a713b32 
					 
					
						
						
							
							Add option to not connect jack ports automatically  
						
						
						
						
					 
					
						2019-08-03 13:01:47 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8f981845dc 
					 
					
						
						
							
							switch to C++17  
						
						... 
						
						
						
						Time to move on, two years after 2017. 
						
						
					 
					
						2019-08-03 12:57:56 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c764b70b3a 
					 
					
						
						
							
							decoder/mad: merge DecodeNextFrame() and DecodeNextFrameHeader()  
						
						
						
						
					 
					
						2019-08-03 12:55:56 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						52bb03e136 
					 
					
						
						
							
							decoder/mad: eliminate redundant error handling from DecodeNextFrame()  
						
						... 
						
						
						
						Much of that is not possible when mad_header_decode() has already been
called. 
						
						
					 
					
						2019-08-03 12:55:48 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a90685d6cf 
					 
					
						
						
							
							Merge tag 'v0.21.12'  
						
						... 
						
						
						
						release v0.21.12 
						
						
					 
					
						2019-08-03 12:53:23 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f2d8fd769d 
					 
					
						
						
							
							player/Thread: don't restart unseekable song after failed seek attempt  
						
						... 
						
						
						
						The check IsSeekableCurrentSong() was added by commit
44b200240f 
						
						
					 
					
						2019-08-03 12:30:10 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9661062ae2 
					 
					
						
						
							
							decoder/mad: pass const reference to RecoverFrameError()  
						
						
						
						
					 
					
						2019-08-03 11:59:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2a07354cad 
					 
					
						
						
							
							decoder/mad: change integers to size_t  
						
						
						
						
					 
					
						2019-08-03 11:44:02 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fc18fd571c 
					 
					
						
						
							
							decoder/mad: return from SynthAndSubmit() early  
						
						
						
						
					 
					
						2019-08-03 11:42:05 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						51abed9732 
					 
					
						
						
							
							decoder/mad: pass mad_pcm to mad_fixed_to_24_buffer()  
						
						
						
						
					 
					
						2019-08-03 11:40:06 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d00afc912c 
					 
					
						
						
							
							decoder/mad: eliminate the loop in SubmitPCM()  
						
						... 
						
						
						
						libmad has a hard-coded maximum PCM buffer size; if we make our
output_buffer just as large, we can avoid the loop, because any
possible size will fit. 
						
						
					 
					
						2019-08-03 11:36:05 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9d0fe725eb 
					 
					
						
						
							
							decoder/mad: rename a few misnamed methods  
						
						
						
						
					 
					
						2019-08-03 11:32:42 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8a432c9b7f 
					 
					
						
						
							
							decoder/mad: move code to LoadNextFrame()  
						
						
						
						
					 
					
						2019-08-03 11:32:06 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						187204f03c 
					 
					
						
						
							
							decoder/mad: move code to HandleCurrentFrame()  
						
						
						
						
					 
					
						2019-08-03 11:32:06 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5e5fadb5f2 
					 
					
						
						
							
							decoder/mad: remove unnecessary initializers  
						
						... 
						
						
						
						These will not be used until they are initialized in SyncAndSend(). 
						
						
					 
					
						2019-08-03 08:49:26 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						952c793235 
					 
					
						
						
							
							decoder/mad: subtract libmad decoder delay from LAME encoder padding  
						
						... 
						
						
						
						Apparently, libmad not only inserts 529 samples of silence at the
beginning of the file, but also removes them at the end.
This solves the last piece of
https://github.com/MusicPlayerDaemon/MPD/issues/601 
Closes https://github.com/MusicPlayerDaemon/MPD/issues/601  
						
						
					 
					
						2019-08-03 08:35:00 +02:00