Max Kellermann
07f212c98c
SongSave: return DetachedSong, not a std::unique_ptr<>
...
Eliminate unnecessary dynamic allocations.
2019-09-05 20:58:04 +02:00
Max Kellermann
a1e2602c3d
SongSave: allow throwing any exception
2019-09-05 20:58:00 +02:00
Max Kellermann
b03e4ae692
queue/Save: move code to LoadQueueSong()
2019-09-05 20:56:47 +02:00
Max Kellermann
57808d1a1b
queue/Save: queue_load_song() throws on error
...
Don't catch and log exceptions here; let the caller decide.
2019-09-05 20:55:18 +02:00
Max Kellermann
7775691965
db/simple/Song: rename "uri" to "filename"
...
This attribute is not a URI; it is just the filename without its
parent directory path. To avoid confusion, let's rename it to
"filename", leaving the struct without a "uri" attribute.
2019-09-04 12:04:35 +02:00
Max Kellermann
a727150c8d
db/simple/Song: remove StringView constructor
2019-09-04 12:03:56 +02:00
Max Kellermann
949916cba1
db/simple/Song: convert NewFrom() to constructor
2019-09-04 12:03:49 +02:00
Max Kellermann
497d090814
db/simple/Song: remove static method NewFile()
2019-09-04 12:03:41 +02:00
Max Kellermann
6a13847287
db/simple/Song: add template constructor
2019-09-04 12:03:37 +02:00
Max Kellermann
cbe7d052e8
db/simple/Song: use PathTraitsUTF8::Build()
2019-09-04 12:02:18 +02:00
Max Kellermann
f4d0bd8205
db/simple/Song: make "parent" a reference, not a pointer
2019-09-04 12:02:17 +02:00
Max Kellermann
1bfede120a
fs/Traits: call std::string::reserve() in BuildPathImpl()
2019-09-04 12:01:25 +02:00
Max Kellermann
e96856032f
SongSave: use StringIsEqual()
2019-09-04 11:13:39 +02:00
Max Kellermann
05a29e8458
db/simple/Song: simplify Export()
2019-09-03 20:36:39 +02:00
Max Kellermann
7f9a8b8748
db/simple/Song: convert "uri" to a std::string
...
No longer allocate it as a "VarSize". This used to be a clever trick
to save memory 10 years ago, but these days, keeping the code
maintainable seems more important than saving a few kilobytes of
memory.
2019-09-03 20:26:47 +02:00
Max Kellermann
af3f637d3f
db/simple/Song: pass StringView to constructor
2019-09-03 20:25:04 +02:00
Max Kellermann
97a9adcbec
db/update/Archive: convert pointer to reference
2019-09-03 19:54:18 +02:00
Max Kellermann
177d3b0178
db/update/Archive: use MakeDirectoryIfModified()
2019-09-03 19:52:15 +02:00
Max Kellermann
12beb22c1d
db/update/VirtualDirectory: add LockMakeVirtualDirectoryIfModified()
2019-09-03 19:51:20 +02:00
Max Kellermann
29fd3172ee
db/update/VirtualDirectory: pass device_id to MakeVirtualDirectoryIfModified()
2019-09-03 19:49:32 +02:00
Max Kellermann
a873137702
db/update/VirtualDirectory: rename MakeDirectoryIfModified()
2019-09-03 19:49:10 +02:00
Max Kellermann
e08298a66f
db/update/Container: move MakeDirectoryIfModified() to VirtualDirectory.cxx
2019-09-03 19:37:53 +02:00
Max Kellermann
fd1826cb91
db/update/Container: move SupportsContainerSuffix() to struct DecoderPlugin
2019-09-03 19:36:56 +02:00
Max Kellermann
d5681b678c
db/update/Walk: move UpdatePlaylistFile() to Playlist.cxx
2019-09-03 18:53:33 +02:00
Max Kellermann
0fd6235a66
playlist/Registry: add FindPlaylistPluginBySuffix()
2019-09-02 20:28:14 +02:00
Max Kellermann
4d11745156
playlist/Plugin: add SupportsSuffix(), SupportsMimeType()
2019-09-02 20:19:47 +02:00
Max Kellermann
2038620bc4
db/simple/Directory: add method IsReallyAFile()
2019-09-02 20:15:52 +02:00
Max Kellermann
5dc7cb87bb
db/simple/DirectorySave: use StringIsEqual()
2019-09-02 20:10:26 +02:00
Max Kellermann
f885e068c8
playlist/Plugin: add constructors
2019-09-01 15:01:58 +02:00
Max Kellermann
0d16772dea
playlist/Plugin: rename with CamelCase
2019-09-01 14:58:49 +02:00
Max Kellermann
2376527d1f
db/DatabaseSong: add `noexcept`
2019-09-01 14:56:27 +02:00
Max Kellermann
7f043367ed
db/UniqueTags: add API documentation
2019-09-01 14:55:25 +02:00
Max Kellermann
45403b44de
db/update/ExcludeList: add `noexcept`
2019-09-01 14:02:34 +02:00
Max Kellermann
32f865f146
db/update/InotifySource: add `noexcept`
2019-09-01 13:58:45 +02:00
Max Kellermann
9f92b59376
db/update/InotifyQueue: add `noexcept`
2019-09-01 13:58:22 +02:00
Max Kellermann
2bb5030f70
db/update/Queue: add `noexcept`
2019-09-01 13:55:17 +02:00
Max Kellermann
366de8773c
db/update/Service: add `noexcept`
2019-09-01 13:51:34 +02:00
Max Kellermann
193e637dd9
python/build/libs: update Boost to 1.71.0
2019-09-01 13:03:50 +02:00
Max Kellermann
928bee933d
python/build/libs: update expat to 2.2.7
2019-09-01 13:02:56 +02:00
Max Kellermann
4d1720c886
python/build/libs: update CURL to 7.65.3
2019-09-01 13:02:04 +02:00
Max Kellermann
8f8ed87327
python/build/libs: update FFmpeg to 4.2
2019-09-01 13:00:26 +02:00
Max Kellermann
28a441c977
python/build/libs: update Opus to 1.3.1
2019-09-01 12:59:17 +02:00
Max Kellermann
8cf50b08f2
python/build/libs: update libogg to 1.3.4
2019-09-01 12:58:26 +02:00
Max Kellermann
d3cc54d4eb
TagArchive, db/update/Service: catch all exceptions
2019-09-01 12:57:24 +02:00
Max Kellermann
71ef0faa2c
output/Source: move code to DropCurrentChunk()
2019-08-27 19:07:52 +02:00
Max Kellermann
328a6de86e
output/Source: document "pending_tag" ownership
2019-08-27 19:07:52 +02:00
Max Kellermann
f750c8012a
test/run_filter: use Filter::Flush()
2019-08-26 21:17:31 +02:00
Max Kellermann
b0a04b3da8
test/run_filter: pass ConstBuffer<void> to FullWrite()
2019-08-26 21:17:27 +02:00
Max Kellermann
9617bd6c85
test/run_filter: fix error message
2019-08-26 21:17:26 +02:00
Max Kellermann
4c7154bd23
filter/Observer: add `noexcept`
2019-08-26 21:04:35 +02:00