Commit Graph

13479 Commits

Author SHA1 Message Date
Max Kellermann
c8e6f50d55 input/buffered: fix bogus offset after Seek()
Instead of copying the offset from our `input`, copy the requested
offset to our `offset` attribute.

By the time Seek() finishes, our input's offset may have advanced
already, having read some more data, thus giving us a bogus offset.

This fixes spurious decoder failues (closes #320).
2018-07-25 00:01:43 +02:00
Max Kellermann
9263d6d07d SongFilter: implement operator "!="
Closes #89
2018-07-24 23:24:42 +02:00
Max Kellermann
5271e81ebe SongFilter: new extensible filter syntax
Will allow more complex fitler expression, such as negation (#89).
2018-07-24 23:05:36 +02:00
Max Kellermann
a174159496 test/ParseSongFilter: new debug program 2018-07-24 23:04:47 +02:00
Max Kellermann
efb2051b30 SongFilter: add ToExpression() 2018-07-24 23:04:44 +02:00
Max Kellermann
a2b24cb5a2 SongFilter: pass std::string&& to Item constructor 2018-07-24 23:03:35 +02:00
Max Kellermann
a54f9ede2e SongFilter: use std::list::emplace_back() 2018-07-24 23:03:33 +02:00
Max Kellermann
05fb624031 doc/protocol.xml: group <arg> elements 2018-07-24 23:03:09 +02:00
Max Kellermann
2de98b652b doc/protocol.xml: move filter syntax to separate section 2018-07-24 22:36:03 +02:00
Max Kellermann
361ad92da9 doc/protocol.xml: improve find/search links 2018-07-24 22:36:00 +02:00
Max Kellermann
84ff71002e doc/user: remove the obsolete DocBook version
Was converted to reStructuredText / Sphinx in commit
8a689e68bc
2018-07-24 22:28:29 +02:00
Max Kellermann
7f1b134137 SongFilter: basic support for negated items
Not yet wired to the protocol.
2018-07-21 11:20:50 +02:00
Rasmus Steinke
504776a10f fix spelling 2018-07-21 08:14:53 +02:00
Rasmus Steinke
184b90bb88 fix wrong ref labels 2018-07-21 08:13:40 +02:00
Rasmus Steinke
cf85fcec79 fix wrong language type for code-blocks 2018-07-21 08:05:37 +02:00
Max Kellermann
b34fd905c8 SongFilter: simplify Parse() loop
Consume the ConstBuffer instead of iterating it.  This will allow
adding more complex parsers.
2018-07-21 07:36:42 +02:00
Max Kellermann
821f77325c SongFilter: Parse() throws exception on error 2018-07-21 07:24:42 +02:00
Max Kellermann
bd8cf7c53d SongFilter: make internal Parse() overload private 2018-07-21 07:21:27 +02:00
Max Kellermann
88c19c21ee SongFilter: remove obsolete prototype 2018-07-21 07:15:43 +02:00
Max Kellermann
40ec819330 SongFilter: make a few methods private 2018-07-21 07:15:09 +02:00
Max Kellermann
34dbd03be1 SongFilter: convert "tag" to "unsigned"
Having this as one-byte integer actually adds overhead and saves no
memory due to padding.
2018-07-21 07:04:01 +02:00
Rasmus Steinke
42d41647b5 fix wrong format of code sample 2018-07-20 23:50:14 +02:00
Rasmus Steinke
c91db14cef add missing formatting 2018-07-20 23:47:39 +02:00
Rasmus Steinke
10b925e7ac highlight actual tag_names 2018-07-20 23:42:45 +02:00
Max Kellermann
c9942846c9 doc: link the user manual in the TOC 2018-07-20 23:09:22 +02:00
Rasmus Steinke
6235cf066a fix missing paragraphs in tables 2018-07-20 20:25:24 +02:00
Rasmus Steinke
86979c8f04 Use correct headers 2018-07-20 16:06:26 +02:00
Rasmus Steinke
8a689e68bc Convert user documentation to restructuredText 2018-07-20 15:31:10 +02:00
Max Kellermann
b98263e86f fs/io/OutputStream: relicense under BSD-2 2018-07-19 14:02:37 +02:00
Max Kellermann
f30265a9ee config/File: support wildcards in "include" 2018-07-18 17:28:30 +02:00
Max Kellermann
fcbcec6856 fs/List: new library exporting ListWildcard() 2018-07-18 17:18:38 +02:00
Max Kellermann
b778fb38a9 util/StringAPI: add raw strcmp() wrapper 2018-07-18 17:18:34 +02:00
Max Kellermann
32290d5eb8 fs/Path: add method ToUTF8Throw() 2018-07-18 16:51:29 +02:00
Max Kellermann
f87265a4d5 fs/AllocatedPath: divert some methods to class Path
Eliminate duplicate code.
2018-07-18 16:51:29 +02:00
Max Kellermann
6448b31b11 util/StringAPI: add strpbrk() wrapper 2018-07-18 16:51:29 +02:00
Max Kellermann
998227cffc fs/CheckFile: remove variable path_utf8 2018-07-18 16:51:29 +02:00
Max Kellermann
09f743dc1a config/File: add directive "include_optional" 2018-07-18 13:10:36 +02:00
Max Kellermann
035f986a91 config/File: support absolute paths in "include" 2018-07-18 13:09:04 +02:00
Max Kellermann
b168a9d469 fs/Traits: add Apply() 2018-07-18 13:06:07 +02:00
Max Kellermann
2b1d6ad396 fs/{,Allocated}Path: add typedef Traits 2018-07-18 13:05:23 +02:00
Rasmus Steinke
641447bf9b remove remaining docbook syntax; update year in footer 2018-07-18 12:52:39 +02:00
Max Kellermann
06c2aef3c7 config/File: fix typo in comment 2018-07-18 12:39:39 +02:00
Max Kellermann
1caa0ef58d Makefile.am: upload Sphinx output 2018-07-18 12:36:58 +02:00
Max Kellermann
51951c9442 doc: remove developer.xml, was converted to Sphinx 2018-07-18 12:25:33 +02:00
Max Kellermann
104b8b4c4c doc: basic support for Sphinx
Migrating from DocBook to Sphinx.  Editing XML is really too
cumbersome.
2018-07-18 12:22:49 +02:00
Max Kellermann
3b95523e07 Merge branch 'sphinx' of git://github.com/carnager/MPD 2018-07-18 12:22:45 +02:00
Rasmus Steinke
3ca312bd4a convert developer docs to restructuredtext 2018-07-18 11:49:50 +02:00
Max Kellermann
d06ef76e58 config/File: implement the "include" directive
This is an experimental draft.  More needs to be done.
2018-07-18 11:27:41 +02:00
Max Kellermann
57729683b6 config/Data: pass new items by rvalue reference 2018-07-18 11:21:59 +02:00
Max Kellermann
9ff2606bb8 config/Data: use std::forward_list to manage params and blocks 2018-07-18 11:03:19 +02:00