Max Kellermann
33f5e03e80
Merge branch 'v0.21.x'
2019-06-17 22:06:54 +02:00
Max Kellermann
a139279575
Copyright year 2019
2019-06-17 11:17:30 +02:00
Max Kellermann
1eae9339f2
db/Interface: CollectUniqueTags() allows multiple "groups"
...
Instead of passing tag and group, pass an array of tags. To support a
nested return value, return a nested std::map of std::maps. Each key
specifies the tag value, and each value may be another nesting level.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/408
2019-06-16 10:39:29 +02:00
Max Kellermann
214ddee2f5
util/Time*: move to time/
2019-05-08 15:47:58 +02: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
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
c7c32a3ce9
db/Print: move sort/window emulation code to class DatabaseVisitorHelper
...
That way, each plugin can decide to implement it better.
2018-09-02 17:37:02 +02:00
Max Kellermann
e6a974a93e
db/Selection: add sort
and window
...
Remove them as parameters from `db_selection_print()`.
2018-09-02 11:10:04 +02:00
Max Kellermann
60620d9af5
db/Print: move variable i
2018-09-02 08:17:22 +02:00
Max Kellermann
15b2a4862e
protocol/RangeArg: add Contains()
2018-09-02 08:17:22 +02:00
Max Kellermann
2915d2dd0f
protocol/RangeArg: add IsAll()
2018-09-02 08:17:22 +02:00
Max Kellermann
993f8d6a5e
db/Print: pass RangeArg to db_selection_print()
2018-09-02 08:17:22 +02:00
Max Kellermann
90201e9970
DetachedSong, db/LightSong, SongFilter: move to src/song/
2018-08-02 13:51:18 +02:00
Max Kellermann
f7fb8a33d7
db/Print: pass TagType to PrintUniqueTags()
2018-07-25 11:21:47 +02:00
Max Kellermann
0505cb8f7e
db/Print: move code to PrintSongUris()
2018-07-25 11:18:45 +02:00
Max Kellermann
b9ff6383a4
db/LightSong: make Tag a reference
...
This enforces the "not nullptr" rule.
2018-07-06 16:47:47 +02:00
Max Kellermann
0ec1863fcb
db/Print: add "noexcept"
2018-01-21 11:32:22 +01:00
Max Kellermann
5582367d68
db/DatabasePrint: support sorting by "modified-since"
...
Closes #172
2017-12-18 21:52:36 +01:00
Max Kellermann
7a55ab6acc
db/DatabasePrint: support descending sort
2017-12-18 21:50:14 +01:00
Max Kellermann
902fbb3347
db/LightDirectory: use std::chrono::system_clock::time_point
2017-08-18 12:16:43 +02:00
Max Kellermann
6f37f5752b
db/PlaylistInfo: use std::chrono::system_clock::time_point
2017-08-11 12:50:33 +02:00
Max Kellermann
71ce1a25dd
SongPrint: remove Storage::MapToRelativeUTF8() call
...
This code (added 7 years ago with commit b233c145f
) has been obsoleted
by the SongLoader class (added 3 years ago).
2017-02-24 13:56:13 +01:00
Max Kellermann
3850716522
command/Database: add "sort" parameter to "find" and "search"
...
Implement the second part of https://bugs.musicpd.org/view.php?id=3990
2017-02-08 11:22:08 +01:00
Max Kellermann
29453ba196
client: add tag_mask attribute
...
The "tagtypes" command now has several sub commands which can be used
to edit that mask.
2017-02-08 09:06:11 +01:00
Max Kellermann
2f3f075e4f
tag/Mask: wrap in class
2017-02-08 09:04:45 +01:00
Max Kellermann
17097d96b7
db/{Count,Print}: use tag_print(), eliminate duplicate code
2017-02-08 09:04:41 +01:00
Thomas Zander
f71c204eef
Correct method types to match Interface.hxx
2017-01-31 21:22:02 +01:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
fac8edd47a
db/Interface: migrate visitor methods from class Error to C++ exceptions
2016-10-29 10:42:56 +02:00
Max Kellermann
3ff728ab02
db/Visitor: remove the Error parameter
...
Implementations shall use exceptions instead.
2016-10-29 10:04:43 +02:00
Max Kellermann
086652dd50
Instance: add GetDatabaseOrThrow()
2016-10-26 18:47:19 +02:00
Max Kellermann
1aee89f5ea
*: include cleanup (using iwyu)
2016-03-01 22:08:13 +01:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00
Max Kellermann
f0b58c6f24
db/UniqueTags, tag/Set, ...: use typedef tag_mask_t
2015-08-24 11:53:30 +02:00
Max Kellermann
7652a2986b
client/Response: new Client wrapper class for writing responses
2015-08-12 08:41:05 +02:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
2e7153d8d6
DatabasePrint: cast int to unsigned before comparison
...
Fixes compiler warning.
2014-11-26 08:21:55 +01:00
Max Kellermann
f37481f843
DatabaseCommands: add "window" parameter to "search"/"find"
2014-11-18 14:31:27 +01:00
Max Kellermann
41a7203c28
Tag: add class const_iterator and methods begin(), end()
...
Enables using range-based "for".
2014-07-12 17:22:39 +02:00
Max Kellermann
fcb55f841a
DatabasePrint: move PrintSongCount() to Count.cxx
2014-04-26 22:59:21 +02:00
Max Kellermann
4cca75b2e1
DatabasePrint: refactor variable/function names
2014-04-25 18:36:07 +02:00
Max Kellermann
0de42d56fc
DatabasePrint: eliminate printAllIn(), printInfoForAllIn()
2014-04-24 18:09:39 +02:00
Max Kellermann
6378ad69bb
DatabasePrint: merge adjacent client_printf() calls
2014-04-24 18:07:12 +02:00
Max Kellermann
9616e9bf3b
DatabasePrint: pass const SearchStats reference
2014-04-24 18:06:46 +02:00
Max Kellermann
7c8b73bffb
DatabasePrint: use unsigned counts
2014-04-24 18:06:26 +02:00
Max Kellermann
ae178c77bd
DatabaseCommands: "list" allows grouping
2014-04-24 11:38:49 +02:00
Max Kellermann
c9aec3e866
DatabaseCommands: fix crash on "list base"
...
The string "base" is understood by locate_parse_type(), but not by
listAllUniqueTags(). The special tag type LOCATE_TAG_BASE_TYPE causes
a crash in PrintUniqueTag().
2014-04-24 08:19:08 +02:00
Max Kellermann
1d1f8be260
DatabasePrint: convert "type" to unsigned
2014-04-24 08:18:41 +02:00
Max Kellermann
96afa8bd2b
command: add command "listfiles"
...
Lists files and directories. Supports storage plugins.
2014-03-01 06:25:57 +01:00