summaryrefslogtreecommitdiff
path: root/src/song
AgeCommit message (Collapse)Author
2020-01-18AudioFormat: move to pcm/Max Kellermann
2020-01-18copyright year 2020Max Kellermann
2019-12-16Merge tag 'v0.21.17'Max Kellermann
release v0.21.17
2019-12-16song/Filter: try ParseISO8601() firstMax Kellermann
Prepare for allowing ISO8601 time stamps without delimiters, such as 20191216, and prevent them from being interpreted as numeric UNIX time stamps.
2019-12-16time/ISO8601: ParseISO8601() returns precisionMax Kellermann
2019-12-16time/ISO8601: forward-declare StringBufferMax Kellermann
2019-12-16util/Time*: move to time/Max Kellermann
2019-08-19time/ISO8601: ParseISO8601() returns precisionMax Kellermann
2019-08-09util/UriUtil: splitMax Kellermann
2019-07-05include cleanups (powered by iwyu)Max Kellermann
2019-06-17Copyright year 2019Max Kellermann
2019-05-22DetachedSong: allow LoadFile(), Update() to throwMax Kellermann
2019-05-08time/ISO8601: forward-declare StringBufferMax Kellermann
2019-05-08util/Time*: move to time/Max Kellermann
2019-03-16song/TagSongFilter: apply negation properly to multiple tag valuesMax Kellermann
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-16song/StringFilter: remove obsolete #ifMax Kellermann
2019-03-16song/StringFilter: make MatchWithoutNegation() publicMax Kellermann
2019-03-15song/TagSongFilter: eliminate Match(TagItem)Max Kellermann
2019-03-15song/TagSongFilter: add code commentsMax Kellermann
2019-03-15song/TagSongFilter: improve lambda indentMax Kellermann
2019-03-15song/TagSongFilter: eliminate the std::fill_n() callMax Kellermann
2019-03-15song/TagSongFilter: rename MatchNN() to Match()Max Kellermann
The "NN" suffix used to mean "no negation", but that's not how it's implemented today.
2018-12-09Add missing pcre_dep in src/song/meson.buildJacob Vosmaer
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, 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-12song/Filter: add operator "contains"Max Kellermann
Closes #410
2018-11-11song/StringFilter: support regular expressions with "=~" and "!~"Max Kellermann
This feature requires `libpcre`.
2018-11-08song/Filter: move code to ParseStringFilter()Max Kellermann
2018-11-07song/{Tag,Uri}SongFilter: pass `StringFilter&&` to constructorMax Kellermann
2018-11-07song/StringFilter: move `negated` flag from containing classMax Kellermann
2018-11-04song/Filter: operator "==" never searches substrings in filter expressionsMax Kellermann
The protocol documentation says that the difference between `find` and `search` is that `search` is case insensitive, but that's only half the truth: `search` also searches for sub strings instead of matching the whole string. This part is undocumented and unfortunate, but at this point, we can't change it. However leaking this surprising behavior to the new filter expressions was a bad idea; the "==" operator should never match substrings. For people who need that, we should add a new operator.
2018-11-04song/StringFilter: add flag `substring`Max Kellermann
Prepare to stop using substrings for filter expressions.
2018-11-04song/StringFilter: use std::string::operator==Max Kellermann
2018-11-02song/Filter: allow escaping quotes in filter expressionsMax Kellermann
Closes #397
2018-10-31*: copyright year 2018Max Kellermann
2018-10-23Merge tag 'v0.20.22'Max Kellermann
release v0.20.22
2018-10-22Merge branch 'v0.20.x'Max Kellermann
2018-10-14build with Meson instead of autotoolsMax Kellermann
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-08-20Compiler.h: move to util/Max Kellermann
2018-08-02song/AudioFormatFilter: add mask supportMax Kellermann
2018-08-02song/OptimizeFilter: optimization stage for filtersMax Kellermann
2018-08-02SongFilter: add class NotSongFilterMax Kellermann
2018-08-02song/AudioFormatSongFilter: new filter typeMax Kellermann
2018-08-02song/Filter: convert LOCATE_TAG_* macros to enumMax Kellermann
2018-08-02song/Filter: move each class into a separate sourceMax Kellermann
2018-08-02DetachedSong, db/LightSong, SongFilter: move to src/song/Max Kellermann