Commit Graph

78 Commits

Author SHA1 Message Date
4f22f4d357 *: use nullptr instead of NULL 2020-02-01 14:02:43 +01:00
2817bf9e95 copyright year 2020 2020-01-18 19:23:49 +01:00
e9c45a9140 playlist/Registry: add RAII class 2019-02-05 23:03:29 +01:00
7a23c123c8 decoder/List: add RAII class 2019-02-05 22:12:22 +01:00
9e73ea77b4 input/Init: add RAII class 2019-02-05 22:07:49 +01:00
b0739eca87 test/ConfigGlue: merge duplicate code from various debug programs 2019-02-05 21:56:20 +01:00
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
f5c9071494 *: copyright year 2018 2018-10-31 17:54:59 +01:00
c99416fbe0 test/dump_playlist: allocate ConfigData on the stack 2018-08-19 22:36:52 +02:00
90201e9970 DetachedSong, db/LightSong, SongFilter: move to src/song/ 2018-08-02 13:51:18 +02:00
61a119b607 playlist/Registry: use struct ConfigData 2018-07-17 22:10:32 +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
816603fd9a config/Config*: rename files, drop "Config" prefix 2018-07-16 19:50:07 +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
0095e2d7d8 playlist/Plugin: use std::unique_ptr<SongEnumerator> 2018-01-20 19:59:42 +01:00
d1456ae039 test/*: use class EventThread instead of ScopeIOThread 2017-02-10 22:25:01 +01:00
3854211694 input/Plugin: pass EventLoop& to init()
Eliminate dependency on io_thread_get().
2017-01-26 09:26:25 +01:00
5900253b85 update copyright year 2017-01-03 20:48:59 +01:00
fc7d3f64c0 input/Plugin: migrate open() from class Error to C++ exceptions 2016-09-09 18:15:01 +02:00
6ed77f2a27 input/Plugin: migrate init() from class Error to C++ exceptions 2016-09-09 15:16:47 +02:00
1d67aa7bf2 update copyright year to 2016 2016-02-26 17:54:05 +01:00
0705f42cf8 playlist/Plugin: pass InputStreamPtr&& to open_stream()
Obsolete class CloseSongEnumerator, which was a kludge.
2016-02-21 12:53:47 +01:00
cadc67ea40 input: wrap InputStream in std::unique_ptr 2016-02-21 08:03:32 +01:00
1c5f76635a playlist/SongEnumerator: wrap song in std::unique_ptr 2016-02-07 11:58:54 +01:00
e6e7d6dbd6 fs/io/Reader: use C++ exceptions instead of class Error 2015-12-18 01:08:16 +01:00
d256a0e98f config/ConfigFile: use std::exception on syntax error 2015-12-16 11:13:16 +01:00
712ed555e6 Copyright year 2015 2015-01-01 19:48:13 +01:00
5cbc319e96 configure.ac: require GLib 2.32 (if enabled)
Since version 2.32, g_thread_init() is deprecated and a no-op.  Let's
upgrade that (optional) dependency so we can remove all those
g_thread_init() calls.
2014-12-05 00:21:48 +01:00
1aac0b10c9 test/run_input, ...: add struct ScopeIOThread
Auto-stop the IO thread in all error handlers.
2014-10-07 20:02:13 +02:00
6ad933982f DetachedSong: use std::chrono::duration for start_ms and end_ms 2014-08-28 13:03:18 +02:00
aafff8fd5c fs/output, fs/TextFile: move to fs/io/ 2014-08-07 19:38:25 +02:00
9fb351a139 *Save, *State: use the OutputStream API instead of FILE* 2014-07-30 22:17:01 +02:00
82337dec44 InputStream: add virtual destructor
Replaces the method Close().
2014-05-11 17:12:50 +02:00
e29fc62b68 test/{run_decoder,dump_playlist}: fix accidental search/replace hiccups 2014-03-16 09:41:03 +01:00
55e128cced test: various fixups for building without GLib 2014-02-18 09:18:42 +01:00
f8bfea8bae Input*: move to input/ 2014-01-24 16:33:33 +01:00
197b503f3e Config*: move to config/ 2014-01-24 00:20:01 +01:00
51adaf2c47 decoder/*: move to decoder/plugins/ 2014-01-24 00:02:24 +01:00
f1f19841bd playlist/*: move to playlist/plugins/ 2014-01-23 23:30:12 +01:00
4f83c60296 copyright year 2014 2014-01-13 22:31:55 +01:00
322b061632 DetachedSong: fork of struct Song
From now on, struct Song will be used by the database only, and
DetachedSong will be used by everybody else.  DetachedSong is easier
to use, but Song has lower overhead.
2014-01-09 09:05:58 +01:00
aeb2baa495 InputStream: add static method OpenReady()
Merge some duplicate code.
2013-12-29 18:08:49 +01:00
1ad52f131c test/*: use fprintf(stderr,...) and Log() instead of g_printerr()
Avoid GLib.
2013-12-24 14:44:08 +01:00
8064bbbc3f test/*: remove GLib logging setup
Obsolete, our logging library doesn't ues GLib anymore.
2013-12-24 14:13:03 +01:00
e2e5433beb test: merge duplicate code to FakeDecoderAPI.cxx 2013-12-14 12:40:24 +01:00
85ae7e9c9a DecoderControl: move code/attributes to new class MixRampInfo 2013-10-26 14:19:34 +02:00
d6e28c42e5 ReplayGainInfo: refactor to a class 2013-10-25 19:12:46 +02:00
6d475c40de ReplayGainInfo: use CamelCase for struct name 2013-10-25 19:12:38 +02:00