ea5096ac90
test/read_conf: use struct ConfigData
2018-07-17 22:08:48 +02:00
428c2ec0e3
test/read_conf: throw if setting is not configured
2018-07-17 22:08:08 +02:00
1a82981d07
test/read_conf: validate the setting name early
2018-07-17 22:07:05 +02:00
0ff0aca2e2
input/Init: use struct ConfigData
2018-07-17 22:05:27 +02:00
57d77cc8a0
decoder/List: use struct ConfigData
2018-07-17 22:05:21 +02:00
d6529d8c60
test/*: catch and print all exceptions
2018-07-17 21:58:39 +02:00
af33a9f4b8
config/Block: allow moving name and value
2018-07-17 20:27:46 +02:00
816603fd9a
config/Config*: rename files, drop "Config" prefix
2018-07-16 19:50:07 +02:00
e152e843d8
tag/Handler: add method OnAudioFormat()
2018-07-06 12:44:58 +02:00
3d3a1232b1
tag/Handler: convert to class with virtual methods
2018-07-05 19:07:05 +02:00
d0fbf6db59
input/Stream: remove attribute "cond", replace with handler interface
...
This adds a bit of overhead, but also adds flexibility to the API,
because arbitrary triggers may be invoked from that virtual method
implementation, not just Cond::signal().
The motivation for this is to make the handlers more dynamic, for the
upcoming buffering class utilizing ProxyInputStream.
2018-06-22 19:37:18 +02:00
01d8eb6290
input/rewind: move sources out of the "plugins" directory
...
This is not a plugin.
2018-06-22 19:31:06 +02:00
0150131984
test/run_neighbor_explorer: make GlobalInit const
2018-06-04 17:44:31 +02:00
2ddd45e5e1
test/run_neighbor_explorer: use ShutdownHandler to catch SIGINT/SIGTERM
2018-06-04 17:42:47 +02:00
acd61a0e8e
test/run_neighbor_explorer: dump NeighborGlue::GetList() after initialization
2018-06-02 19:15:36 +02:00
b30a510b45
Merge tag 'v0.20.18'
...
release v0.20.18
2018-02-24 23:16:06 +01:00
f3e683bd6f
test/run_storage: fallback for %F on Windows
2018-02-24 22:44:42 +01:00
50ce0c0d9d
test/run_storage: initialize WinSock
2018-02-24 22:44:34 +01:00
03700ad37c
test/DumpDecoderClient: use STDOUT_FILENO
2018-02-17 08:33:01 +01:00
6d01ee9284
test/DumpDecoderClient: convert static local to class attribute
2018-02-17 08:32:16 +01:00
cc3c1f31d0
test/DumpDecoderClient: convert to class
2018-02-17 08:31:19 +01:00
5909502a13
test/DumpDecoderClient: add API documentation
2018-02-17 08:30:12 +01:00
88bbd847e0
test/FakeDecoderAPI: rename to DumpDecoderClient
2018-02-17 08:27:03 +01:00
0c300bd4b4
test/run_decoder: add command-line option to read mpd.conf
2018-02-13 00:00:00 +01:00
53acb7bfcb
test/run_decder: RAII-style global initialization
2018-02-13 00:00:00 +01:00
005bb59797
test/run_input: move code from Scan() to input/ScanTags.cxx
2018-01-29 16:57:44 +01:00
3ecf5fd442
test/run_input: add frontend for InputPlugin::scan_tags()
2018-01-26 20:08:01 +01:00
3461580b34
test/run_input: add option "--verbose"
2018-01-24 15:29:30 +01:00
fcfdeac1c7
test/test_translate_song: use std::to_string()
2018-01-24 13:38:44 +01:00
8b42fd0a28
Merge branch 'v0.20.x'
2018-01-23 16:45:57 +01:00
ea66cdd6a5
test/read_mixer: another kludge to work around -Wnull-dereference
2018-01-23 16:42:25 +01:00
f762e8034f
test/NullMixerListener: new class to fix -Wnull-dereference
2018-01-23 16:28:56 +01:00
1e3f0650df
SongUpdate: add "noexcept"
2018-01-21 11:53:42 +01:00
61eb2aa328
storage/Interface: wrap StorageDirectoryReader in std::unique_ptr
2018-01-21 11:04:30 +01:00
0095e2d7d8
playlist/Plugin: use std::unique_ptr<SongEnumerator>
2018-01-20 19:59:42 +01:00
eef5b58211
tag/Tag: add "noexcept"
2018-01-20 19:39:46 +01:00
c4f7740b80
fs/Path: replace method Null() with nullptr_t constructor
2018-01-17 12:16:21 +01:00
6c239f7a00
test/run_input: add option to load a configuration file
2018-01-17 12:09:08 +01:00
7d5b859756
test/run_input: add command-line option parser
2018-01-17 12:04:01 +01:00
8649ea3d6f
thread/Thread: use BoundMethod
2018-01-07 17:20:26 +01:00
6d0d8cf9cf
filter/Filter: add virtual method Flush()
...
This will be used by filters which have internal buffers which need to
be flushed at the end, e.g. the "soxr" resampler.
2018-01-02 23:15:51 +01:00
bbabb7a14c
filter/Plugin: move filter_configured_new() to LoadOne.cxx
2018-01-02 23:06:53 +01:00
cd6de3b24e
neighbor/{Explorer,Listener}: add "noexcept"
2018-01-02 16:58:14 +01:00
3c5e4e2788
storage/Plugin: return std::unique_ptr<Storage>
2018-01-02 16:11:17 +01:00
10537c5095
test/run_filter: use "auto"
2018-01-01 19:06:17 +01:00
551ac56a33
Filter/Internal: split header
2018-01-01 18:48:34 +01:00
a2c2288cd6
test/run_filter: throw exception on error
2017-12-27 12:03:13 +01:00
e2621d5e44
filter/Plugin: return std::unique_ptr<PreparedFilter>
2017-12-27 11:39:01 +01:00
2e0949d8e6
archive/Plugin: return std::unique_ptr<ArchiveFile>
2017-12-27 09:07:21 +01:00
49619fbd77
input/Proxy: use InputStreamPtr
2017-12-26 20:03:37 +01:00