Max Kellermann
aa77bc323f
pcm/FloatConvert: make IntegerToFloatSampleConvert::Convert() constexpr
2018-10-29 23:52:25 +01:00
Max Kellermann
901229699e
release v0.20.23
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlvXjC0QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEtCPD/sF4XSIfAOGeosHvCxJGJbia630TXIcgiGa
5Idku72YHrCrpHtK4Wn9AxWHkVHn3hTTma7fziwtOiXgyrPR/2P5WqcdaGqGgGX0
dUQkjDh5iBakTLpr1k7RapA7UaZU47Qp++V+6iU42SFjYXO/f1NYD0ltAWwygWm9
qzFrTAaKmOqi3h+Cv0ZlwVrOEWdjkoqQ+9REvaivUljMRIFNLn197Y+cCDlrlPXX
4v0LgYQ6dm4f62K9nqKvAe1ERKL6QO4uz4pSM5zd98+CE34Th/f0liN2SbvNF/xw
rJY0G1kL1Jrmst5UBldcCCVqV1UGJ3wVejRDHZykazuaM5weHRtSR7tcbfVaZIyW
3w3EyM7D2O7m2AqWSDpBsY1w97NxIlFm2JizE3FvCcf4hhvuNgKuXxS8NBS/zttv
o4igWOZUw76VzhcR8hnlDduKdz+Ht/MuT3ziSPuBQlj0coJYmHkqziO6+sI+bXve
1bzX/KNEd9DiN+kxR34U9fRKOCtUGfCZwvGRqiQcIEm/Uo/UrszAM2sXK6bQoPj2
1ZEXJuvFJr3rLe4rsTZn7g12yIqwuSA+0xeMpR0NQvUFnsI4aWokgvo1MVWp934q
D0yrGMuRJyTB5mq6jS119ZX+ReCqI5H2IPZ7hkHK6Sia0jFE+ySjNFTqpkaMo1mB
4EfBNZPctg==
=m57f
-----END PGP SIGNATURE-----
Merge tag 'v0.20.23'
release v0.20.23
2018-10-29 23:44:47 +01:00
Max Kellermann
637c96697f
release v0.20.23
2018-10-29 23:31:17 +01:00
Max Kellermann
c92f0a1336
test/PcmFormat: add Float/32 bit test
2018-10-29 23:06:40 +01:00
Max Kellermann
8463441afe
test/PcmFormat: rename FormatFloat to FormatFloat16
2018-10-29 23:06:37 +01:00
Max Kellermann
9b6a2589e5
Merge branch 'v0.20.x'
2018-10-29 23:06:32 +01:00
Max Kellermann
cc5fab28af
pcm/FloatConvert: fix compile-time integer overflow for S32
...
The compile-time calculation for `factor` overflows because `1<<31`
cannot be represented by `int`. By casting to `uintmax_t` first, we
can avoid this overflow.
Closes #380
2018-10-29 22:50:54 +01:00
Max Kellermann
a3f7127e72
pcm/FloatConvert: use FloatToIntegerSampleConvert::factor for IntegerToFloatSampleConvert::factor
2018-10-29 22:50:06 +01:00
Max Kellermann
b0a6a569df
pcm/FloatConvert: add `static_assert` on the factor
...
This assertion currently fails for S32 due to integer overflow (#380 ).
2018-10-29 22:38:32 +01:00
Max Kellermann
92523f8cf2
input/CdioParanoia: parse_cdio_uri() returns CdioUri
...
The `bool` return value isn't used anymore, so we can just return the
parsed object instead of passing it as an output parameter.
2018-10-29 14:34:33 +01:00
Max Kellermann
e33c08357a
input/CdioParanoia: rename struct cdio_uri to CdioUri
2018-10-29 14:34:30 +01:00
Max Kellermann
2dc5648e57
input/CdioParanoia: use StringAfterPrefixIgnoreCase()
2018-10-29 14:34:30 +01:00
Max Kellermann
d0349880da
util/StringCompare: add StringAfterPrefixIgnoreCase()
2018-10-29 14:34:29 +01:00
iamsi
f178163217
Fix typo in build instructions
2018-10-29 13:32:53 +00:00
Max Kellermann
7aa1dceef6
player/Control: move IDLE_PLAYER to Player::SeekDecoder()
...
This emits the event even if PlayerControl::Play() is used to replay
the current song, which emits the missing "player" idle event.
Closes #381
2018-10-29 12:01:48 +01:00
Max Kellermann
a75d2fdd5a
NEWS: mention the new clang crash bug workaround
2018-10-29 12:01:28 +01:00
Max Kellermann
f76544be4c
db/update: catch all exceptions
2018-10-29 11:05:50 +01:00
Max Kellermann
1e6c445320
configure.ac: add `-funwind-tables` to work around clang bug
...
Replaces the workaround from commit
751fff07fb
which fixed only one of many
crash locations.
See:
https://github.com/MusicPlayerDaemon/MPD/issues/373
https://github.com/android-ndk/ndk/issues/831
https://bugs.llvm.org/show_bug.cgi?id=32611
2018-10-29 11:05:35 +01:00
Max Kellermann
e02c1adf79
increment version number to 0.20.23
2018-10-29 11:05:27 +01:00
Max Kellermann
889e4869f9
meson.build: install the SVG icon
...
This change from commit 61eff1cddf
got
lost in the merge.
2018-10-26 15:54:59 +02:00
Max Kellermann
f77135f307
meson.build: install README, NEWS etc.
2018-10-26 15:54:14 +02:00
Max Kellermann
eeae9a04d3
input/Registry: add missing include
2018-10-25 09:21:13 +02:00
Max Kellermann
8bb35e7bb6
decoder/Thread: reimplement HasRemoteTagScanner() using the InputPlugin list
2018-10-25 09:09:21 +02:00
Max Kellermann
3e78c9ab48
input/Plugin: add attribute `prefixes`
2018-10-24 20:25:32 +02:00
Max Kellermann
9ec86acb9c
decoder/Thread: enable output tags for Tidal and Qobuz
...
Fixes formatted paths in the `recorder` output, closing #345 .
2018-10-24 16:38:26 +02:00
Max Kellermann
426bde3f75
decoder/Thread: move check to SongHasVolatileTags()
2018-10-24 16:32:41 +02:00
Max Kellermann
30e22b753b
tag/Chromaprint: OO wrapper for a ChromaprintContext
2018-10-24 10:52:45 +02:00
Max Kellermann
f7141c9201
decoder/Control: convert to class, make various attributes private
2018-10-24 10:47:34 +02:00
Max Kellermann
c2a2573aa5
release v0.20.22
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlvPX+UQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFElO8EACgPMaiN3m/x1hzJ3QTLzCXgeqSG1vuv1tC
F+sFISLPx/IoVjTpvd9H8jMt7lD+SYB620pAfNyLIGZpWcTxu1wmaviOghqCqnGP
sql0vtS9CrRGhsKDi5earox3zecylWJ3PRPXpy/4NjFuFUxE2ij/wbXzDb9UbtMg
1WnVL++fAlFj54CnPR35XHglYU+X7/bMWApkVUfsKBgyX9aghqLYUIm0jaUjj3Bs
xB/2Nemd1A88yrc4kqyzbFsN96S/W2eXhDYfPlDwFdplfoRJ8nrEMdwrsn0nabIF
7x+OsAGAfrz3e00TZdiDSaIy7VU4EFV9ctZVonoCGUluBHL0iG7G7bj2cnd+hVnZ
ecidfHMUqVO99elmUtWsUQwzbhL/TxM6Fzn2qDwqdwcCWDgHcn4fpXfsY0MRt6NK
cUhCyspMTuhqS3ohLO6RfiWDActm6QL2IHiDty/WAe1Td0VjOiRQMq7CADHlgn/D
IalN8kGyWHK5ew+3Iiw5zRoYjNXG4ALZN8cEqVh2R7i2uxh8+qm46HkhticAjfDM
4mETs3oAZdpOGCgv6Q0eY7tQDKB13DD/303NJaVFb6Iew2TZCWDbFz5HjqYShCZi
PgnPosdRg0LoQbMah4Uhsj6frs6LEBMpg6c7nScJN/1MoRaOyVNDg03X+rBmPe5z
XULvdsZ8Sw==
=8OQx
-----END PGP SIGNATURE-----
Merge tag 'v0.20.22'
release v0.20.22
2018-10-23 20:10:57 +02:00
Max Kellermann
9274bc15bc
release v0.20.22
2018-10-23 19:52:37 +02:00
Max Kellermann
751fff07fb
input/Error: work around clang bug leading to crash
...
Closes #373
2018-10-23 19:52:22 +02:00
Max Kellermann
f7d1408a1a
android/build.py: improved libc++ linker flags (for NDK r18)
...
The flag `-stdlib=libc++` doesn't appear to work because it attempts
to load `libc++` and not `libc++_static`, and it omits `libc++abi`.
2018-10-23 19:32:25 +02:00
Max Kellermann
e4e14ef6b0
Makefile.am: include mpd.svg in source tarball
2018-10-23 18:48:01 +02:00
Max Kellermann
005e691339
decoder/fluidsynth: adapt to API change in version 2.0
...
Closes #360
2018-10-23 18:44:28 +02:00
Max Kellermann
61eff1cddf
Makefile.am: install the SVG icon
...
Closes #366
2018-10-22 18:39:50 +02:00
Max Kellermann
c26703b7e6
SongFilter: check value.empty() after checking tag fallbacks
...
In this new order, a filter 'AlbumArtist ""' matches only on songs
which neither have `AlbumArtist` nor `Artist`.
2018-10-22 18:34:47 +02:00
Max Kellermann
66ab2de578
Merge branch 'v0.20.x'
2018-10-22 18:20:29 +02:00
Max Kellermann
db27bb76e2
db: fix broken command "list ... group"
...
Grouping in the "list" command was completely broken from the start,
unlike "count group". I have no idea what I have been thinking when I
wrote commit ae178c77bd
, but it didn't
make any sense.
This commit is a rewrite of the feature.
For clients to be able to detect this feature, this commit also
increments the protocol version.
2018-10-22 13:08:24 +02:00
Max Kellermann
7cfe929c36
db/Count: print empty group if song without grouped tag exists
...
Be consistent with "list" responses.
2018-10-22 12:42:18 +02:00
Max Kellermann
6c06244e83
db/Count: move code to tag/VisitCallback.hxx
2018-10-22 11:50:51 +02:00
Max Kellermann
53448e4633
tag/Fallback: add tag fallbacks for AlbumArtistSort, ArtistSort
...
Just like AlbumArtist falls back to Artist, AlbumArtistSort should
fall back tom AlbumArtist, ArtistSort and finally Artist.
Closes #355
2018-10-22 10:52:42 +02:00
Max Kellermann
21adc78713
SongFilter: use ApplyTagFallback()
2018-10-22 10:46:26 +02:00
Max Kellermann
0340b01392
db/Count: use ApplyTagFallback()
2018-10-22 10:46:26 +02:00
Max Kellermann
94aed92e9a
tag/Set: move code to ApplyTagWithFallback()
2018-10-22 10:10:43 +02:00
Max Kellermann
6b9966e969
tag/Set: include cleanup
2018-10-22 10:09:56 +02:00
Max Kellermann
4bc5333995
tag/Set: use TagBuilder::AddItemUnchecked()
...
This improves the workaround from commit
b5ba94f1de
and actually gives a useful
result for "list" with a disabled tag.
2018-10-22 10:06:04 +02:00
Max Kellermann
ff58b8d255
tag/Builder: move code to AddItemUnchecked()
2018-10-22 10:03:47 +02:00
Max Kellermann
e28d1e0f65
decoder/mad: convert `Tag**` parameter to just `Tag*`
2018-10-22 09:44:54 +02:00
Max Kellermann
a491d8ae24
decoder/mad: use class UniqueId3Tag
2018-10-22 09:44:50 +02:00
Max Kellermann
3cd5dd15f8
decoder/mad: don't initialize xing::frames
2018-10-22 09:44:48 +02:00