Max Kellermann 
							
						 
					 
					
						
						
							
						
						18add29472 
					 
					
						
						
							
							configure.ac: disable -Wnoexcept-type  
						
						... 
						
						
						
						Workaround for #146 . 
						
						
							
						
					 
					
						2017-11-12 18:54:29 +01:00 
						 
				 
			
				
					
						
							
							
								cathugger 
							
						 
					 
					
						
						
							
						
						b111a8fe8d 
					 
					
						
						
							
							output/Thread: ensure pending tags are flushed in all cases  
						
						... 
						
						
						
						Fixes hanging playback with soxr resampler.
Closes  #139 , #141  
						
						
							
						
					 
					
						2017-11-05 17:42:32 +01:00 
						 
				 
			
				
					
						
							
							
								Marcin Jurkowski 
							
						 
					 
					
						
						
							
						
						3b23cf0258 
					 
					
						
						
							
							decoder/vorbis: scale and clip tremor-decoded samples to 15 bits  
						
						... 
						
						
						
						Tremor decoder is unusable since commit 2ee43c4http://lists.xiph.org/pipermail/tremor/2010-April/001642.html  and
http://lists.xiph.org/pipermail/vorbis/2006-October/026513.html .
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com > 
						
						
							
						
					 
					
						2017-11-03 19:45:41 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						28e864e096 
					 
					
						
						
							
							player/Thread: log message when decoder is too slow  
						
						
						
						
							
						
					 
					
						2017-10-25 20:26:09 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1de19b921a 
					 
					
						
						
							
							input/curl: call StartRequest() after setting CURLOPT_RANGE  
						
						... 
						
						
						
						It's not possible to set CURL options after curl_easy_perform(), and
thus the CURLOPT_RANGE had no effect. 
						
						
							
						
					 
					
						2017-10-24 21:43:39 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ff162b5a03 
					 
					
						
						
							
							input/curl: move code to StartRequest()  
						
						
						
						
							
						
					 
					
						2017-10-24 21:41:17 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d8e4705dd4 
					 
					
						
						
							
							input/curl: move the range buffer to the stack  
						
						... 
						
						
						
						From the CURLOPT_RANGE documentation: "The application does not have
to keep the string around after setting this option." 
						
						
							
						
					 
					
						2017-10-24 21:38:35 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						338e1f5926 
					 
					
						
						
							
							increment version number to 0.20.12  
						
						
						
						
							
						
					 
					
						2017-10-24 17:31:55 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a7fdfa08e1 
					 
					
						
						
							
							release v0.20.11  
						
						
						
						
							
 
						
					 
					
						2017-10-18 10:14:46 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9703a401c5 
					 
					
						
						
							
							Playlist{File,Save}: always use UTF-8 in playlists on Windows  
						
						... 
						
						
						
						Turns out that using CP_ACP is a lousy idea, because only very few
Unicode characters can be represented by it.  Instead, switch to UTF-8
(which every sane person on other operating system already uses).
Closes  #102  
						
						
							
						
					 
					
						2017-10-18 10:05:26 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						753a2aa462 
					 
					
						
						
							
							PlaylistSave: move code to playlist_print_path()  
						
						
						
						
							
						
					 
					
						2017-10-18 09:51:04 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						10990a0684 
					 
					
						
						
							
							queue/Playlist: call MoveOrderToCurrent() in SeekSongOrder() on song change  
						
						... 
						
						
						
						Applies the improvements from the previous commit to the "seek"
commands, which are also capable of switching songs.
Closes  #119  
						
						
							
						
					 
					
						2017-10-18 09:14:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						91254e9211 
					 
					
						
						
							
							queue/PlaylistControl: keep order list consistency in MoveOrderToCurrent()  
						
						... 
						
						
						
						Our previous use of Queue::SwapOrders() could cause surprising
results:
- sometimes, the old "current" song would be played again (if the
  newly selected song had not been played already)
- sometimes, the old "current" song would not be played again (if the
  newly selected song had already been played)
This is inconsistent, because it should not depend on whether the
newly selected song had already been played.
So instead of Queue::SwapOrders() we now use Queue::MoveOrderAfter()
and Queue::MoveOrderBefore(), which is more expensive, but also more
consistent.  It attempts to retain as much from the previous order
list as possible, and only moves the newly selected song around. 
						
						
							
						
					 
					
						2017-10-18 09:05:47 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0f79287b04 
					 
					
						
						
							
							queue/Playlist: move code to MoveOrderToCurrent()  
						
						
						
						
							
						
					 
					
						2017-10-18 09:05:24 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f2fac77d8c 
					 
					
						
						
							
							queue/Queue: add methods MoveOrderBefore() and MoveOrderAfter()  
						
						
						
						
							
						
					 
					
						2017-10-18 08:50:01 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						81b7373637 
					 
					
						
						
							
							queue/Queue: MoveOrder() returns to_order  
						
						
						
						
							
						
					 
					
						2017-10-18 08:46:31 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fa67c2548a 
					 
					
						
						
							
							decoder/Thread: clear the command after catching an exception  
						
						... 
						
						
						
						If an early exception gets caught (e.g. from
AllocatedPath::FromUTF8Throw()) before
DecoderControl::CommandFinishedLocked() is called, the decoder thread
would go in an endless loop, because DecoderCommand::START is still
set.
Closes  #118  
						
						
							
						
					 
					
						2017-09-27 17:08:16 +02:00 
						 
				 
			
				
					
						
							
							
								John Regan 
							
						 
					 
					
						
						
							
						
						ea80587ddb 
					 
					
						
						
							
							GME Plugin: fix track numbering  
						
						... 
						
						
						
						GME starts all track indexes at zero, but subtune prefixes
start at one. This fixes an off-by-one error during track
enumeration. 
						
						
							
						
					 
					
						2017-09-27 11:18:03 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						828f5f8384 
					 
					
						
						
							
							lib/icu/CaseFold: disable broken strxfrm() callback  
						
						
						
						
							
						
					 
					
						2017-09-20 23:55:14 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1295a1272a 
					 
					
						
						
							
							lib/icu/Compare: add fallback using strcasecmp() and strcasestr()  
						
						... 
						
						
						
						Our IcuCaseFold() fallback using strxfrm() is not actually case
insensitive.  This commit fixes the problem by switching to
strcasecmp().  That function is not guaranteed to support UTF-8, but
it's the best we can do in this sparse situation.
Closes  #111  
						
						
							
						
					 
					
						2017-09-20 23:43:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						66646d9276 
					 
					
						
						
							
							SongFilter: use class IcuCompare  
						
						
						
						
							
						
					 
					
						2017-09-20 23:43:26 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d0497dba92 
					 
					
						
						
							
							lib/icu/Compare: OO wrapper for IcuCaseFold()  
						
						
						
						
							
						
					 
					
						2017-09-20 23:32:55 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						42914e8227 
					 
					
						
						
							
							lib/icu/CaseFold: add "noexcept"  
						
						
						
						
							
						
					 
					
						2017-09-20 23:32:54 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						59b49b7881 
					 
					
						
						
							
							db/Selection: add missing config.h  
						
						
						
						
							
						
					 
					
						2017-09-20 23:32:54 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5620f16330 
					 
					
						
						
							
							lib/icu/Collate: move IcuCaseFold() to CaseFold.cxx  
						
						
						
						
							
						
					 
					
						2017-09-20 23:11:58 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						be024d4ad7 
					 
					
						
						
							
							lib/icu/Collate: remove unnecessary assert()  
						
						
						
						
							
						
					 
					
						2017-09-20 23:05:31 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						75c740fe2b 
					 
					
						
						
							
							output/sndio: fix indent  
						
						
						
						
							
						
					 
					
						2017-09-19 18:50:35 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						6c8d86bb90 
					 
					
						
						
							
							output/sndio: rename the "sio_hdl" variable to avoid clash with struct name  
						
						
						
						
							
						
					 
					
						2017-09-19 18:49:33 +02:00 
						 
				 
			
				
					
						
							
							
								Charlie Waters 
							
						 
					 
					
						
						
							
						
						b253a6b71e 
					 
					
						
						
							
							ffmpeg plugin: when decoded stream duration is unavailable, attempt fallback to container duration ( fix   MusicPlayerDaemon/MPD#110 )  
						
						
						
						
							
						
					 
					
						2017-09-18 10:39:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ca7b4df812 
					 
					
						
						
							
							doc/user: document the Opus encoder  
						
						
						
						
							
						
					 
					
						2017-09-07 14:21:40 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bc8dd57236 
					 
					
						
						
							
							doc/protocol.xml: document status/volume=-1  
						
						... 
						
						
						
						Closes  #107  
					
						2017-09-04 08:15:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f4f461b8bb 
					 
					
						
						
							
							storage/curl: support Content-Type application/xml  
						
						
						
						
							
						
					 
					
						2017-09-01 11:32:40 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cbb9b6957f 
					 
					
						
						
							
							storage/curl: use StringStartsWith()  
						
						
						
						
							
						
					 
					
						2017-09-01 11:31:10 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f6b56c9317 
					 
					
						
						
							
							storage/curl: move code to IsXmlContentType()  
						
						
						
						
							
						
					 
					
						2017-09-01 11:30:30 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3717fb6c8d 
					 
					
						
						
							
							win32/build.py: add -march=pentium3 to fix 32 bit LAME build  
						
						... 
						
						
						
						Workaround for the following LAME build failure:
 error: inlining failed in call to always_inline '_mm_sqrt_ps': target
 specific option mismatch
This is because the LAME build scripts do not check whether SSE is
available; they only check for the presence of the "xmmintrin.h"
header.
Requiring a Pentium 3 CPU is reasonable enough, and it's the first CPU
to feature SSE support. 
						
						
							
						
					 
					
						2017-08-31 19:48:59 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f6abbc01bd 
					 
					
						
						
							
							increment version number to 0.20.11  
						
						
						
						
							
						
					 
					
						2017-08-31 19:48:59 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						57a71c157d 
					 
					
						
						
							
							release v0.20.10  
						
						
						
						
							
 
						
					 
					
						2017-08-24 09:15:43 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cc76aeb7bb 
					 
					
						
						
							
							python/build/libs: upgrade CURL to 7.55.1  
						
						
						
						
							
						
					 
					
						2017-08-24 09:06:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						811cabf8a9 
					 
					
						
						
							
							python/libs: upgrade Opus to 1.2.1  
						
						
						
						
							
						
					 
					
						2017-08-24 09:06:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bf8d2f93d2 
					 
					
						
						
							
							python/build/libs: upgrade FFmpeg to 3.3.3  
						
						
						
						
							
						
					 
					
						2017-08-24 09:06:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						07d8259ad6 
					 
					
						
						
							
							python/libs: upgrade Boost to 1.65  
						
						
						
						
							
						
					 
					
						2017-08-23 17:46:25 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a00d412008 
					 
					
						
						
							
							player/Thread: initialize play_audio_format, fixes assertion  
						
						... 
						
						
						
						This fixes an assertion failure caused by resuming playback before the
decoder has finished startup. 
						
						
							
						
					 
					
						2017-08-23 17:43:49 +02:00 
						 
				 
			
				
					
						
							
							
								Matthew Leon 
							
						 
					 
					
						
						
							
						
						5fb39658f1 
					 
					
						
						
							
							OSX mixer  
						
						
						
						
							
						
					 
					
						2017-08-21 20:05:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b0703b92c3 
					 
					
						
						
							
							util/FormatString: pass the allocated buffer to AllocatedString::Donate()  
						
						... 
						
						
						
						.. and not the stack buffer.  This made the AllocatedString destructor
crash.
Closes  #52  
						
						
							
						
					 
					
						2017-08-03 00:25:30 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						dd9fd3d8a7 
					 
					
						
						
							
							tag/Aiff: the FORM chunk size is big-endian  
						
						... 
						
						
						
						Was broken by commit 8a86460b8fCloses  #87  
						
						
							
						
					 
					
						2017-07-31 13:46:09 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cf0c59864f 
					 
					
						
						
							
							doc/protocol.xml: clarify that idle events do not get lost  
						
						
						
						
							
						
					 
					
						2017-07-21 09:51:43 +02:00 
						 
				 
			
				
					
						
							
							
								Matthew Leon 
							
						 
					 
					
						
						
							
						
						4c0404c70d 
					 
					
						
						
							
							Check for MusicBrainz id3v2 tags in ffmpeg.  
						
						... 
						
						
						
						Addresses #82 .
Previously, the ffmpeg decoder only checked for the "generic"
MusicBrainz metadata keys used in other metadata container formats. 
						
						
							
						
					 
					
						2017-07-20 08:28:14 +02:00 
						 
				 
			
				
					
						
							
							
								Matthew Leon 
							
						 
					 
					
						
						
							
						
						573a413ee1 
					 
					
						
						
							
							move MusicBrainz id3v2 tags to separate file  
						
						... 
						
						
						
						We will reuse these tags elsewhere. 
						
						
							
						
					 
					
						2017-07-20 08:26:29 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f633e6ca49 
					 
					
						
						
							
							python/build/libs: add LAME  
						
						... 
						
						
						
						Enable it in the Windows build script, closes  #78 .
LAME currently doesn't support Android:
 checking host system type... Invalid configuration `arm-linux-androideabi': system `androideabi' not recognized 
						
						
							
						
					 
					
						2017-07-19 20:53:52 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						07b06d76be 
					 
					
						
						
							
							{android,win32}/build.py: concatenate variables from the command line  
						
						
						
						
							
						
					 
					
						2017-07-19 20:53:52 +02:00