Commit Graph

13530 Commits

Author SHA1 Message Date
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
Max Kellermann 562ae44d38 decoder/mad: remove unused attribute from `xing::magic` 2018-10-22 09:44:46 +02:00
Max Kellermann 92541dedc0 Merge branch 'master' of git://github.com/skidoo23/MPD 2018-10-22 09:44:36 +02:00
Max Kellermann 3f3f0af543 python/build/libs.py: upgrade CURL to 7.61.1 2018-10-22 08:53:30 +02:00
Max Kellermann 850d208b7b python/build/libs.py: upgrade Opus to 1.3 2018-10-22 08:44:11 +02:00
Max Kellermann da563940b4 python/build/libs.py: upgrade libmpdclient to 2.16 2018-10-22 08:32:32 +02:00
Max Kellermann 650a67dc38 decoder/mad: use mad_bit_skip() where appropriate 2018-10-19 20:24:16 +02:00
Max Kellermann c63f24e58e decoder/audiofile: larger stack buffer to reduce overhead 2018-10-19 20:04:28 +02:00
Max Kellermann 3be8b02cc2 decoder/sndfile: make `vio` constexpr
Use `const_cast` to be able to pass it to sf_open_virtual() which has
a wrong parameter declaration.
2018-10-19 19:51:17 +02:00
Max Kellermann bdfaea0c25 decoder/mad: move parse_id3_mixramp() to src/tag/Id3ReplayGain.cxx 2018-10-19 19:45:32 +02:00
Max Kellermann ed5c0d6546 tag/Id3Scan: make struct id3_tag pointers `const` 2018-10-19 19:43:03 +02:00
Max Kellermann 86dc621086 tag/Rva2: make struct id3_tag pointers `const` 2018-10-19 19:41:59 +02:00
skidoo23 fbea965c70 tag: new tag Label 2018-10-17 20:33:03 +02:00
Max Kellermann a2cd66ed6f doc: remove the DocBook protocol documentation, has been converted to Sphinx 2018-10-17 10:27:06 +02:00
Max Kellermann 68894e822a doc/index.rst: fix the converted protocol documentation
Fix links and lots of broken markup.
2018-10-17 10:17:41 +02:00
Max Kellermann 937f49f1e9 doc/index.rst: link the converted protocol documentation 2018-10-17 10:17:38 +02:00
Max Kellermann ee59e20c28 Merge branch 'protocol2rst' of git://github.com/rain0r/MPD 2018-10-17 09:22:30 +02:00
Max Kellermann 01b6e1cbf2 test: use GTest instead of cppunit 2018-10-16 21:26:04 +02:00
Max Kellermann eefc0f5d80 input/Error: add `noexcept` 2018-10-16 21:26:04 +02:00
Max Kellermann 1f94cea889 doc/meson.build: fix target for "upload" target 2018-10-16 15:28:37 +02:00
skidoo23 69749eb591 decoder/sidplay: fix typo to avoid linker error with meson (libsidplayfp) 2018-10-16 14:56:40 +02:00
Max Kellermann 94592c1406 build with Meson instead of autotools
So long, autotools!  This is my last MPD related project to migrate
away from it.  It has its strengths, but also very obvious weaknesses
and weirdnesses.  Today, many of its quirks are not needed anymore,
and are cumbersome and slow.  Now welcome our new Meson overlords!
2018-10-14 23:41:38 +02:00