Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-10-18 | queue/Playlist: call MoveOrderToCurrent() in SeekSongOrder() on song change | Max Kellermann | |
Applies the improvements from the previous commit to the "seek" commands, which are also capable of switching songs. Closes #119 | |||
2017-10-18 | queue/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-18 | queue/Playlist: move code to MoveOrderToCurrent() | Max Kellermann | |
2017-10-18 | queue/Queue: add methods MoveOrderBefore() and MoveOrderAfter() | Max Kellermann | |
2017-10-18 | queue/Queue: MoveOrder() returns to_order | Max Kellermann | |
2017-09-27 | decoder/Thread: clear the command after catching an exception | Max 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-27 | GME Plugin: fix track numbering | John 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-20 | lib/icu/CaseFold: disable broken strxfrm() callback | Max Kellermann | |
2017-09-20 | lib/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-20 | SongFilter: use class IcuCompare | Max Kellermann | |
2017-09-20 | lib/icu/Compare: OO wrapper for IcuCaseFold() | Max Kellermann | |
2017-09-20 | lib/icu/CaseFold: add "noexcept" | Max Kellermann | |
2017-09-20 | db/Selection: add missing config.h | Max Kellermann | |
2017-09-20 | lib/icu/Collate: move IcuCaseFold() to CaseFold.cxx | Max Kellermann | |
2017-09-20 | lib/icu/Collate: remove unnecessary assert() | Max Kellermann | |
2017-09-19 | output/sndio: fix indent | Max Kellermann | |
2017-09-19 | output/sndio: rename the "sio_hdl" variable to avoid clash with struct name | Max Kellermann | |
2017-09-18 | ffmpeg plugin: when decoded stream duration is unavailable, attempt fallback ↵ | Charlie Waters | |
to container duration (fix MusicPlayerDaemon/MPD#110) | |||
2017-09-07 | doc/user: document the Opus encoder | Max Kellermann | |
2017-09-04 | doc/protocol.xml: document status/volume=-1 | Max Kellermann | |
Closes #107 | |||
2017-09-01 | storage/curl: support Content-Type application/xml | Max Kellermann | |
2017-09-01 | storage/curl: use StringStartsWith() | Max Kellermann | |
2017-09-01 | storage/curl: move code to IsXmlContentType() | Max Kellermann | |
2017-08-31 | win32/build.py: add -march=pentium3 to fix 32 bit LAME build | Max 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-31 | increment version number to 0.20.11 | Max Kellermann | |
2017-08-24 | release v0.20.10v0.20.10 | Max Kellermann | |
2017-08-24 | python/build/libs: upgrade CURL to 7.55.1 | Max Kellermann | |
2017-08-24 | python/libs: upgrade Opus to 1.2.1 | Max Kellermann | |
2017-08-24 | python/build/libs: upgrade FFmpeg to 3.3.3 | Max Kellermann | |
2017-08-23 | python/libs: upgrade Boost to 1.65 | Max Kellermann | |
2017-08-23 | player/Thread: initialize play_audio_format, fixes assertion | Max Kellermann | |
This fixes an assertion failure caused by resuming playback before the decoder has finished startup. | |||
2017-08-21 | OSX mixer | Matthew Leon | |
2017-08-03 | util/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-31 | tag/Aiff: the FORM chunk size is big-endian | Max Kellermann | |
Was broken by commit 8a86460b8f054a42130a4b59e082b66d921d2a1b Closes #87 | |||
2017-07-21 | doc/protocol.xml: clarify that idle events do not get lost | Max Kellermann | |
2017-07-20 | Check 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-20 | move MusicBrainz id3v2 tags to separate file | Matthew Leon | |
We will reuse these tags elsewhere. | |||
2017-07-19 | python/build/libs: add LAME | Max 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 line | Max Kellermann | |
2017-06-15 | python/build/libs: upgrade FFmpeg to 3.3.2, CURL to 7.54.1 | Max Kellermann | |
2017-06-15 | doc/user: add more Debian build dependencies | Max Kellermann | |
2017-06-15 | doc/user: update build dependencies for Debian Jessie | Max Kellermann | |
2017-06-15 | increment version number to 0.20.10 | Max Kellermann | |
2017-06-04 | release v0.20.9v0.20.9 | Max Kellermann | |
2017-06-04 | *: add lost of "noexcept" specifications | Max Kellermann | |
2017-06-03 | storage, db, mixer, command: remove more bogus "pure" attributes | Max 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-03 | decoder/ffmpeg: add support for adx | Jörg Raftopoulos | |
Add ffmpeg decoder support for *.adx files (Sega game console) Closes #60 | |||
2017-05-29 | system/ByteOrder: fix byte order detection on FreeBSD/aarch64 | Max 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-29 | increment version number to 0.20.9 | Max Kellermann | |
2017-05-19 | release v0.20.8v0.20.8 | Max Kellermann | |