Rosen Penev
29ae84e199
manual braced init
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2021-11-22 23:30:04 -08:00
Rosen Penev
250011f016
return by braced init list
...
shorter
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2021-11-22 23:28:08 -08:00
Max Kellermann
f510564d9d
more [[gnu::...]] attributes
2021-10-13 12:07:05 +02:00
Max Kellermann
bd893e6336
Merge tag 'v0.22.10'
...
release v0.22.10
2021-08-06 18:21:59 +02:00
Max Kellermann
1761fb14af
fs/Traits: add PathTraitsUTF8::IsAbsoluteOrHasScheme()
2021-08-05 20:09:06 +02:00
Rosen Penev
9ef1cf15a9
clang-tidy: default virtual destructors
...
Found with cppcoreguidelines-special-member-functions
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2021-05-30 22:46:46 -07:00
Max Kellermann
b2cec7a0a3
Merge branch 'v0.22.x'
2021-05-19 08:09:05 +02:00
Max Kellermann
c3f9b38c97
command/PlaylistCommands: pass real_uri to LookupRemoteTag()
...
For querying tags, the real song URI should be used, because if the
(display) URI is different, requesting it will not produce a usable
response. This is a theoretical problem because none of the existing
playlist plugins sets the real_uri.
This requires changing the URI comparison in playlist::TagModified().
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1154
2021-05-18 21:35:09 +02:00
Max Kellermann
c729f16dcd
song/DetachedSong: copy the AudioFormat from LightSong
...
Enables the "Format" row in "playlistinfo" responses.
https://github.com/MusicPlayerDaemon/MPD/issues/1094
2021-02-18 22:16:11 +01:00
Max Kellermann
81d0c04ed4
song/DetachedSong: add noexcept
2021-02-18 22:01:52 +01:00
Max Kellermann
ecc07e4e98
Merge tag 'v0.22.5'
...
release v0.22.5
2021-02-15 22:50:16 +01:00
Max Kellermann
d4d06da2f8
db/simple: fix dangling LightSong::tag reference in moved ExportedSong
...
After commit 1afa33c3c7 , an old bug was revealed:
SimpleDatabase::GetSong() constructs an ExportedSong instance by
moving the return value of Song::Export(), which causes the
LightSong::tag field to be dangling on the moved-from
ExportedSong::tag_buffer. This broke tags from CUE sheets.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1070
2021-02-15 17:38:37 +01:00
Max Kellermann
abbd980671
Merge branch 'v0.22.x'
2021-01-01 19:59:15 +01:00
Max Kellermann
5348f8c9c8
copyright year 2021
2021-01-01 19:54:28 +01:00
Rosen Penev
f1fc5d79ca
clang-tidy: convert to all/any_of
...
Found with readability-use-anyofallof
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-10-28 15:51:21 -07:00
Max Kellermann
0a4c5edc3b
Merge branch 'stl' of git://github.com/neheb/MPD
2020-04-08 23:03:44 +02:00
Rosen Penev
015cbff93d
[cppcheck] convert several functions to use std::all_of
...
std::all_of becomes constexpr in C++20. I'm not sure it results in better
performance.
Found with useStlAlgorithm
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-04-08 14:01:12 -07:00
Max Kellermann
e620677d7c
lib/icu/CaseFold: pass std::string_view
2020-04-03 16:13:14 +02:00
Max Kellermann
02294a8236
song/Filter: pass std::string_view to WithoutBasePrefix()
2020-04-02 19:49:24 +02:00
Rosen Penev
a2f5a63bbc
replace stdint.h with cstdint
...
The former is deprecated by C++14. The standard says they are the same:
The header defines all types and macros the same as the C standard library
header<stdint.h>.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-12 19:04:39 -07:00
Rosen Penev
ab9f5d2067
replace assert.h with cassert
...
The former was deprecated with C++14.
According to the C++11 and C++17 standards, both files are identical.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-12 15:25:38 -07:00
Rosen Penev
6d3190fe5f
[clang-tidy] use = default
...
Found with modernize-use-equals-default
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-02-16 17:10:18 -08:00
Max Kellermann
cd612c4eef
AudioFormat: move to pcm/
2020-01-18 20:24:59 +01:00
Max Kellermann
2817bf9e95
copyright year 2020
2020-01-18 19:23:49 +01:00
Max Kellermann
683d5848f4
Merge tag 'v0.21.17'
...
release v0.21.17
2019-12-16 23:44:20 +01:00
Max Kellermann
b7744be208
song/Filter: try ParseISO8601() first
...
Prepare for allowing ISO8601 time stamps without delimiters, such as
20191216, and prevent them from being interpreted as numeric UNIX time
stamps.
2019-12-16 23:31:29 +01:00
Max Kellermann
5df2707d98
time/ISO8601: ParseISO8601() returns precision
2019-12-16 23:24:43 +01:00
Max Kellermann
aeb89aa9d6
time/ISO8601: forward-declare StringBuffer
2019-12-16 23:02:59 +01:00
Max Kellermann
e9af692973
util/Time*: move to time/
2019-12-16 23:02:14 +01:00
Max Kellermann
1a08bdf16f
time/ISO8601: ParseISO8601() returns precision
2019-08-19 22:41:49 +02:00
Max Kellermann
40a2880857
util/UriUtil: split
2019-08-09 20:21:12 +02:00
Max Kellermann
d663f81420
include cleanups (powered by iwyu)
2019-07-05 09:59:58 +02:00
Max Kellermann
a139279575
Copyright year 2019
2019-06-17 11:17:30 +02:00
Max Kellermann
9a78371b5c
DetachedSong: allow LoadFile(), Update() to throw
2019-05-22 10:19:25 +02:00
Max Kellermann
82ca3aa281
time/ISO8601: forward-declare StringBuffer
2019-05-08 16:24:31 +02:00
Max Kellermann
214ddee2f5
util/Time*: move to time/
2019-05-08 15:47:58 +02:00
Max Kellermann
3bf521d5ca
song/TagSongFilter: apply negation properly to multiple tag values
...
The old implementation didn't make a lot of sense; the "!=" operator
was not actually the opposite of "==".
Closes https://github.com/MusicPlayerDaemon/MPD/issues/505
2019-03-16 13:23:02 +01:00
Max Kellermann
0acb55cde5
song/StringFilter: remove obsolete #if
2019-03-16 13:23:02 +01:00
Max Kellermann
6b89fd6100
song/StringFilter: make MatchWithoutNegation() public
2019-03-16 13:23:02 +01:00
Max Kellermann
9e9418294a
song/TagSongFilter: eliminate Match(TagItem)
2019-03-15 20:28:27 +01:00
Max Kellermann
b850eb74b7
song/TagSongFilter: add code comments
2019-03-15 19:54:29 +01:00
Max Kellermann
67d73a2aee
song/TagSongFilter: improve lambda indent
2019-03-15 19:54:16 +01:00
Max Kellermann
fde9a470dd
song/TagSongFilter: eliminate the std::fill_n() call
2019-03-15 19:35:58 +01:00
Max Kellermann
1881b0e975
song/TagSongFilter: rename MatchNN() to Match()
...
The "NN" suffix used to mean "no negation", but that's not how it's
implemented today.
2019-03-15 19:06:56 +01:00
Jacob Vosmaer
87542e3080
Add missing pcre_dep in src/song/meson.build
2018-12-09 17:21:38 +01:00
Max Kellermann
ce49d99c2f
check.h: remove obsolete header
...
Since we switched from autotools to Meson in commit
94592c1406 , we don't need to include
`config.h` early to properly enable large file support. Meson passes
the required macros on the compiler command line instead of defining
them in `config.h`.
This means we can include `config.h` at any time, whenever we want to
check its macros, and there are no ordering constraints.
2018-11-19 16:33:49 +01:00
Max Kellermann
060908d5c4
song/Filter: add operator "contains"
...
Closes #410
2018-11-12 12:49:01 +01:00
Max Kellermann
72184dccfc
song/StringFilter: support regular expressions with "=~" and "!~"
...
This feature requires `libpcre`.
2018-11-11 12:55:35 +01:00
Max Kellermann
7b5ba15170
song/Filter: move code to ParseStringFilter()
2018-11-08 00:02:10 +01:00
Max Kellermann
d5e0d49f86
song/{Tag,Uri}SongFilter: pass StringFilter&& to constructor
2018-11-07 23:57:42 +01:00