Max Kellermann
5c4a42caa0
neighbor: new subsystem to detect file servers on the local network
...
This commit adds the NeighborPlugin API which can be used to detect
nearby file servers that can be used by input plugins. This list of
servers is exported using the new "listneighbors" command. The idle
even "neighbor" notifies interested clients when a new neighbor is
found or an existing one is lost.
There's a lot missing currently: protocol&user documentation, and a
way to "mount" remote servers into the music database. Obviously,
some code from the UPnP database plugin can be moved to a neighbor
plugin.
2014-01-26 00:10:05 +01:00
Max Kellermann
68eda78704
Mixer*: move to mixer/
2014-01-24 16:44:32 +01:00
Max Kellermann
9d34fc394c
Database*: move to db/
2014-01-24 16:38:44 +01:00
Max Kellermann
973c9872f9
Sticker*: move to sticker/
2014-01-24 16:38:15 +01:00
Max Kellermann
299ff2b23f
move daemonization code to unix/
2014-01-24 16:37:21 +01:00
Max Kellermann
f8bfea8bae
Input*: move to input/
2014-01-24 16:33:33 +01:00
Max Kellermann
e199c33c6e
Client*: move to client/
2014-01-24 00:26:53 +01:00
Max Kellermann
08296cd66d
Update*: move to update/
2014-01-24 00:24:43 +01:00
Max Kellermann
197b503f3e
Config*: move to config/
2014-01-24 00:20:01 +01:00
Max Kellermann
6b70f5e490
Zeroconf*: move to zeroconf/
2014-01-24 00:14:54 +01:00
Max Kellermann
4aa6d39fd8
archive/*: move to archive/plugins/
2014-01-24 00:09:37 +01:00
Max Kellermann
51adaf2c47
decoder/*: move to decoder/plugins/
2014-01-24 00:02:24 +01:00
Max Kellermann
ea5b901bcc
output/*: move to output/plugins/
2014-01-23 23:49:50 +01:00
Max Kellermann
f1f19841bd
playlist/*: move to playlist/plugins/
2014-01-23 23:30:12 +01:00
Max Kellermann
0616667688
Main: glue_mapper_init() returns true if GetUserMusicDir() fails
...
Not a fatal error. Fixes assertion failure.
2014-01-22 16:28:19 +01:00
Max Kellermann
be47320a05
Daemon: fork as early as possible
...
Keep the parent process around until MPD has finished initializing.
This is important for libraries that are allergic to fork(), such as
libupnp.
2014-01-18 12:42:30 +01:00
Max Kellermann
3a6da7c594
Main: make variables more local
2014-01-18 11:34:13 +01:00
Max Kellermann
9909a80d6a
Main: eliminate variable "success"
2014-01-18 11:20:20 +01:00
Max Kellermann
4f83c60296
copyright year 2014
2014-01-13 22:31:55 +01:00
Max Kellermann
114df1f137
DatabasePlugin: add interface DatabaseListener
...
Allow database plugins to announce that they have been modified.
2014-01-11 01:01:54 +01:00
Max Kellermann
d5dfe7d457
configure.ac: add option "--disable-glib"
...
Allows building without GLib. This fails to compile currently,
because GLib is still used in the MPD core.
2013-12-15 18:43:12 +01:00
Denis Krjuchkov
e42637226f
Main: use standard directory API
2013-12-08 17:25:19 +06:00
Max Kellermann
1a002eb23d
PcmConvert: add pcm_convert_global_init()
...
Wrapper for pcm_resample_global_init(), just in case other PCM
libraries need initialization, too.
2013-11-29 11:00:57 +01:00
Max Kellermann
f90abe9530
include cleanup using iwyu
2013-11-28 11:50:54 +01:00
Denis Krjuchkov
957d187ae4
Main.cxx: initialize winsock before creating IO thread
...
Otherwise sockets can't be created during IO thread initialization.
2013-11-26 18:10:18 +06:00
Max Kellermann
51de8fd10a
Volume, Output: use new class PeriodClock instead of GTimer
2013-11-25 22:09:46 +01:00
Max Kellermann
529b4bd185
Stats: use monotonic clock instead of GTimer
...
Reduce GLib usage.
2013-11-24 21:14:38 +01:00
Max Kellermann
ecf12a60e8
Log: add level "DEFAULT"
...
Map LogLevel::INFO to G_LOG_LEVEL_INFO, and LogLevel::DEFAULT to
G_LOG_LEVEL_MESSAGE. Now client connect/disconnect message are only
logged on log_level "secure".
2013-11-04 22:27:49 +01:00
Max Kellermann
54abeab80b
increase default buffer size to 4 MB
...
2 MB was too small for cross-fading a 24 bit file. Increasing to 4 MB
is still not too large for weak machines, but is enough for
cross-fading.
2013-10-30 21:46:40 +01:00
Max Kellermann
a88c23b6e8
Main: check the g_get_user_special_dir() result
...
Fixes crash.
2013-10-30 16:14:44 +01:00
Max Kellermann
ae99135c8d
Main: convert anonymous enum to constexpr
2013-10-20 13:47:32 +02:00
Max Kellermann
5ec843dcc8
*Commands: move to src/command/
2013-10-20 13:41:04 +02:00
Max Kellermann
ff626ac763
*: use references instead of pointers
2013-10-19 18:48:38 +02:00
Max Kellermann
abfbd55305
fs/Path: rename to AllocatedPath
...
The new class Path only holds a string pointer without being
responsible for allocation/deallocation. The FileSystem.hxx library
accepts Path arguments instead of AllocatedPath, to avoid forcing
callers to allocate another string object.
2013-10-17 23:43:46 +02:00
Max Kellermann
080ee87e07
fs/Path: move configuration code to Config.cxx
2013-10-17 22:29:03 +02:00
Max Kellermann
b93523c0b1
UpdateGlue: never pass null to update_enqueue()
2013-10-17 21:45:41 +02:00
Max Kellermann
32dfc11c23
Main: use ThreadId instead of GThread*
2013-10-17 19:28:34 +02:00
Max Kellermann
7de96275dd
ConfigData: use std::string for config_param::value
2013-10-15 22:49:01 +02:00
Max Kellermann
17c6db6c33
replay_gain_*.h: rename to *.hxx
2013-10-02 12:22:12 +02:00
Max Kellermann
ec883e1901
Stats: rename stats.h to Stats.hxx
2013-10-02 12:14:07 +02:00
Max Kellermann
060814daa8
Log: new logging library API
...
Prepare to migrate away from GLib. Currently, we're still using GLib
as a backend.
2013-10-02 08:57:55 +02:00
Max Kellermann
b2789c598e
PlayerThread: use {decoder,player}_control references
2013-09-26 22:53:40 +02:00
Max Kellermann
7ca0aedcfc
Main: fix crash if no database was configured
...
Add nullptr check, and return early from glue_db_init_and_load().
2013-09-26 17:33:46 +02:00
Max Kellermann
a2c4037a24
Main: use nullptr instead of NULL
2013-09-26 17:31:50 +02:00
Max Kellermann
1ee6a78cb7
Path: add FromUTF8() overload that returns an Error
2013-09-12 10:17:41 +02:00
Max Kellermann
5d5f21bfc5
Tag: compile-time initialisation of ignore_tag_items
...
Move to TagSettings.c and use C99 initializers.
2013-09-05 18:34:12 +02:00
Max Kellermann
2b676dc5fc
Tag: move configuration code to TagConfig.cxx
...
Allow using the Tag.cxx library without the Config library.
2013-09-05 18:27:08 +02:00
Max Kellermann
3f267b1795
Tag, ...: move to libtag.a
2013-09-05 18:26:56 +02:00
Max Kellermann
26d92c80ed
conf.h: remove obsolete header
...
Use only ConfigData.hxx in plugin sources to reduce header
dependencies.
2013-09-05 08:47:10 +02:00
Max Kellermann
9605e24655
conf.h: move constants to ConfigDefaults.hxx
2013-09-05 08:42:08 +02:00