summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-18queue/Playlist: call MoveOrderToCurrent() in SeekSongOrder() on song changeMax Kellermann
Applies the improvements from the previous commit to the "seek" commands, which are also capable of switching songs. Closes #119
2017-10-18queue/PlaylistControl: keep order list consistency in MoveOrderToCurrent()Max Kellermann
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-18queue/Playlist: move code to MoveOrderToCurrent()Max Kellermann
2017-10-18queue/Queue: add methods MoveOrderBefore() and MoveOrderAfter()Max Kellermann
2017-10-18queue/Queue: MoveOrder() returns to_orderMax Kellermann
2017-09-27decoder/Thread: clear the command after catching an exceptionMax Kellermann
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-27GME Plugin: fix track numberingJohn Regan
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-20lib/icu/CaseFold: disable broken strxfrm() callbackMax Kellermann
2017-09-20lib/icu/Compare: add fallback using strcasecmp() and strcasestr()Max Kellermann
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-20SongFilter: use class IcuCompareMax Kellermann
2017-09-20lib/icu/Compare: OO wrapper for IcuCaseFold()Max Kellermann
2017-09-20lib/icu/CaseFold: add "noexcept"Max Kellermann
2017-09-20db/Selection: add missing config.hMax Kellermann
2017-09-20lib/icu/Collate: move IcuCaseFold() to CaseFold.cxxMax Kellermann
2017-09-20lib/icu/Collate: remove unnecessary assert()Max Kellermann
2017-09-19output/sndio: fix indentMax Kellermann
2017-09-19output/sndio: rename the "sio_hdl" variable to avoid clash with struct nameMax Kellermann
2017-09-18ffmpeg plugin: when decoded stream duration is unavailable, attempt fallback ↵Charlie Waters
to container duration (fix MusicPlayerDaemon/MPD#110)
2017-09-07doc/user: document the Opus encoderMax Kellermann
2017-09-04doc/protocol.xml: document status/volume=-1Max Kellermann
Closes #107
2017-09-01storage/curl: support Content-Type application/xmlMax Kellermann
2017-09-01storage/curl: use StringStartsWith()Max Kellermann
2017-09-01storage/curl: move code to IsXmlContentType()Max Kellermann
2017-08-31win32/build.py: add -march=pentium3 to fix 32 bit LAME buildMax Kellermann
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-31increment version number to 0.20.11Max Kellermann
2017-08-24release v0.20.10v0.20.10Max Kellermann
2017-08-24python/build/libs: upgrade CURL to 7.55.1Max Kellermann
2017-08-24python/libs: upgrade Opus to 1.2.1Max Kellermann
2017-08-24python/build/libs: upgrade FFmpeg to 3.3.3Max Kellermann
2017-08-23python/libs: upgrade Boost to 1.65Max Kellermann
2017-08-23player/Thread: initialize play_audio_format, fixes assertionMax Kellermann
This fixes an assertion failure caused by resuming playback before the decoder has finished startup.
2017-08-21OSX mixerMatthew Leon
2017-08-03util/FormatString: pass the allocated buffer to AllocatedString::Donate()Max Kellermann
.. and not the stack buffer. This made the AllocatedString destructor crash. Closes #52
2017-07-31tag/Aiff: the FORM chunk size is big-endianMax Kellermann
Was broken by commit 8a86460b8f054a42130a4b59e082b66d921d2a1b Closes #87
2017-07-21doc/protocol.xml: clarify that idle events do not get lostMax Kellermann
2017-07-20Check for MusicBrainz id3v2 tags in ffmpeg.Matthew Leon
Addresses #82. Previously, the ffmpeg decoder only checked for the "generic" MusicBrainz metadata keys used in other metadata container formats.
2017-07-20move MusicBrainz id3v2 tags to separate fileMatthew Leon
We will reuse these tags elsewhere.
2017-07-19python/build/libs: add LAMEMax Kellermann
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{android,win32}/build.py: concatenate variables from the command lineMax Kellermann
2017-06-15python/build/libs: upgrade FFmpeg to 3.3.2, CURL to 7.54.1Max Kellermann
2017-06-15doc/user: add more Debian build dependenciesMax Kellermann
2017-06-15doc/user: update build dependencies for Debian JessieMax Kellermann
2017-06-15increment version number to 0.20.10Max Kellermann
2017-06-04release v0.20.9v0.20.9Max Kellermann
2017-06-04*: add lost of "noexcept" specificationsMax Kellermann
2017-06-03storage, db, mixer, command: remove more bogus "pure" attributesMax Kellermann
This commit is similar to 788e3b31e1ab8243386339eaf136ede18f015d55, and removes more "pure" attributes which were placed on functions that could throw exceptions, which is illegal according to clang's understanding of the attribute (but not according to GCC's). GitHub issue #58 was most likely about StorageDirectoryReader::GetInfo() and Storage::GetInfo(), which still had "pure" attributes. Closes #58
2017-06-03decoder/ffmpeg: add support for adxJörg Raftopoulos
Add ffmpeg decoder support for *.adx files (Sega game console) Closes #60
2017-05-29system/ByteOrder: fix byte order detection on FreeBSD/aarch64Max Kellermann
Patch from https://svnweb.freebsd.org/ports/head/audio/musicpd/files/patch-src_system_ByteOrder.hxx?revision=441921&view=co (with a tiny modification) Closes #59
2017-05-29increment version number to 0.20.9Max Kellermann
2017-05-19release v0.20.8v0.20.8Max Kellermann