Max Kellermann
1bbe9896f6
Main: make inotify errors non-fatal
2021-10-13 18:55:05 +02:00
Max Kellermann
2d8847f428
db/update/InotifyUpdate: convert to class, no global variables
2021-10-13 18:47:56 +02:00
Max Kellermann
0a8886704a
Main: move top-level exception handler to main()
...
Allows win32_main() to throw exceptions.
2021-10-13 16:37:34 +02:00
Max Kellermann
8a29805767
release v0.22.11
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmElU1oQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEnfUD/0fmlPB0ud6UdyedOp6yqbZoWvUanGFyrFX
4eaTfSZq4qAs3JKSLqGVcseDNG4wk/VkDhXekbpFPIgCjBQpypxusQ1NowoT6gps
NYFClU2cxBnGYHMZQeTT+4WB4VRGreZGJ42IfQbKDyrSNImKu+5CmtDvsoGezeMK
OnL9EkNR3D7nl6uIUstuyOG6f/x1QNNVlntatslMxPYfnrZgHElwZiodqEGDh0c4
XxBQmVyAX+AGjmwepXTQvUap2rd2x0mW7jQ7C3FFTP/eSImPsspQb4zO/TGnp3/o
9pSIDUSlnOS78C3GIJCZB4ac7i/Gh+tSV6Y3wSJmY9s/EvqnnHwySeiJnTLG3q3G
03Wy7r64enytU3jdgjtYb3h8fCnsQjhuhmUXtDLTF3hFeBR/EkviYQOpGqVbXpzm
Wx+yINtHJcUr4jikxboFSQacmf2WbJbIyZ3RhsWTWANHWDqHrMzW73E850Dg3kg3
RoeMKV3B9vFv6kolsCZR/Pq6+vFSsuDt8o+/RJqBwSKKwPP9Hm7ntlamTsJ5kA/0
kvr5WE9RcDOU+lyTjra1OW7OInxbhr05PFNBw8GfeR9QyatUT6c3hgyhoCbZ24DV
oPh3TwKrwtm82TMxBktGMAWb02RebEYVpPSlVrnWhpI9vlm4gHebAxANbFVWA/ur
FxQv+PXg0w==
=G8gT
-----END PGP SIGNATURE-----
Merge tag 'v0.22.11'
release v0.22.11
2021-08-24 22:19:38 +02:00
Max Kellermann
263d1ba002
Main: playlist_directory defaults to "/sdcard/Android/data/org.musicpd/files/playlists"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1233
2021-08-24 22:12:27 +02:00
Sam Bazley
57687779be
Android: add option to pause MPD when headphones disconnect
2021-07-26 19:02:47 +01:00
Max Kellermann
6f539cfcd6
Partition, ...: use libfmt for logging
2021-06-24 21:40:11 +02:00
Max Kellermann
e4e4576a39
release v0.22.9
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmDTg80QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFErvaD/93cfFvY/E9NZbI7XmuEfrfX0dUEo2dd8bi
O1tbEU+8uquNLV5cyb5iEpu6RCbAQxjj8clqVuMgfl0Qe3NQ+Z+nyOg0YVEB4Z16
cQBDFGawth7HuaqBIdMgnoapUxyGW3KMFw6si5OsV5AMkT5ybdsWg3sOXIXG+cLa
7KoIwVlgum+DsAPCSKis9fiuZJCnsg9SVcsJnpoaa7ZVOASPp1Wd7F9Kv6wj03/R
fEQ3z/s/4ILsWmZFHnclFq5LSpNvom5fAiedO15WVsJCxoZHEAg0ZpnNn/whU1HA
fciGImrjHLCTKVS5xpWNXUMaov2k7LEbLka2AqYwdeuxf7kAeoZC42H/cwK6tH/F
xuNWg4l9DZQUoGFxN4hfxJi3fsVpx0+3FR+cJQWOuUtwcmh4e7qJKX1gxAjHvEQY
GPS+jx7ndpcVDJyupvhFVGT0VDEOP7yMTjdY6uc5dXa4Ulx59duvgTdEyYgS4feM
BqNOYkD2FXnN7nv56f23q5SkRHF5D5nnoc8robIWkng9PXoq1Faq42MwLFxyCdH1
duRHk06FaFYpPv7gYagarFYIwOKCteL8aOwLymYbJop0O8ripYVQ7hHcEeWNvV+f
Q1ggllNBD/igvom6tRNl+S7TeQijr44M3/pDvDI3oXJPCfh1ZFGjwKqKqS76JfEu
v4V1N0rseA==
=p1U2
-----END PGP SIGNATURE-----
Merge tag 'v0.22.9'
release v0.22.9
2021-06-23 21:02:06 +02:00
Max Kellermann
175d2c6d29
Main: use AtScopeExit() to call ZeroconfDeinit()
...
Make sure that ZeroconfDeinit() gets called even if startup fails with
an exception. Fixes an assertion failure because an Avahi TimerEvent
is still active.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1192
2021-06-22 20:31:45 +02:00
Max Kellermann
e4fccc85c8
Main: move Zeroconf to the I/O thread
...
This will allow using Zeroconf in output plugins (preparing for
Snapcast with Zeroconf).
2021-02-24 16:29:33 +01:00
Max Kellermann
2efa142ec9
output/init: use the real-time I/O thread only for the ALSA plugin
2021-02-24 16:09:11 +01:00
Max Kellermann
2d8ecd561b
zeroconf: return a publisher object
2021-02-24 15:09:10 +01:00
Max Kellermann
fe741bd767
zeroconf/Glue: allow ZeroconfInit() to throw
2021-02-24 14:15:04 +01:00
Max Kellermann
04d5588fe5
zeroconf/Zeroconf*: drop prefix from file names
2021-02-24 13:33:59 +01:00
Max Kellermann
5348f8c9c8
copyright year 2021
2021-01-01 19:54:28 +01:00
Max Kellermann
3562a3e51e
Main: save the state_file on shutdown
...
This got lost in commit 5d597a3646
(v0.21.19), but it was never
noticed because the state_file_interval was way too short due to
commit 3413d1bf23
, fixed recently by commit 27cc7b352d
2020-10-28 15:29:47 +01:00
Rosen Penev
980e32f69c
remove clocale test
...
clocale is part of C++11.
In practical terms, gcc's libstdc++ comes with its own locale defines
when the libc does not have them.
Also reworked to be dependent on !ANDROID.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-29 14:51:17 -07:00
Max Kellermann
c843bce9f5
LogLevel: rename DEFAULT to NOTICE
...
"DEFAULT" is a bad name - all it says is that it's the default value,
but it doesn't say what it means. The name NOTICE mimics the syslog
level.
2020-09-23 14:22:33 +02:00
Rosen Penev
71e551df42
replace locale.h with clocale
...
Switch to std:: functions. Changed the meson check. Works locally.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-31 18:05:23 -07:00
Max Kellermann
0da6344726
release v0.21.21
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl5zgCQQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEnkCD/0RNcohFb2svCDYXuAz3BN5hBxUvepMJJId
aNaT+jz8FpWTpIi4TaHqF4iODyDXR9YkVBv2aPqEjJad0tVEHHijyHkA25jd8moz
lR46RRK4CEkBTTlmui9FmajelqoidMxRMQLR8HRTKCQPPZcgXhNOhdciJg1EovMT
maZD81UyuZXPAq+v3IMJHy+H/LUA5yFcsjIdyJs7EEFZXHb9LUVRW/ZxUwFzl1Os
TAiLQ0Ix4ebsy1MmE4n7f9T6dAuPO/+GkHXMKn6ruvAYUKPeKcjjdm5QW+Gyt9X1
IArx0oaEqxPY5r7YruyGoPMj9pIwMVnHMLCTc8sbBNKS8ibtD/mlI+9Vj8C4gCoZ
ZRjMFnPMSC6RmoTWbDw8U28j0vxMbQ/SWrLNIgW44QUHyFPfBgWNwqqKux6b/Mph
u+SjVi/9ds8FKewLVi3dotdS8YmPF/b46Ov0ycfWLbyB7BvcP31o1zR1uLN6BqYj
bzI4n4hKOxT0SsA74odJJDamA60J/DW4tAGxyscKaq8pDFYlBFo9dq+9+/aoDAMj
sFLP32h/HqlO/ilZuuUVES4tg/shzF7VOhI9+GCvc/Ic1NXIdug4pUcXJ8ubXxzD
ObnvF8RX8Vwf/ofwjcHIE7sqJAT5/QZhB1RTg/SkdlaUczjle0gVgCN1hAqlNSCP
mJ8831lArg==
=YxBZ
-----END PGP SIGNATURE-----
Merge tag 'v0.21.21'
release v0.21.21
2020-03-19 15:26:27 +01:00
Max Kellermann
56c234b410
raise default "max_connections" value to 100
...
Documentation says the limit is 5, but it was really 10 (at least
since 2004). But since MPD wants to promote using many small clients
idling around, and these clients consume only very few resources, it
seems reasonable to raise this limit's default value.
2020-03-19 13:30:46 +01:00
Rosen Penev
4b57b7f5a5
replace limits.h with climits
...
The former was deprecated with C++14. The standard says they are the same
with one exception:
The header<climits>defines all macros the same as the C standard library
header<limits.h>.
[Note:The types of the constants defined by macros in<climits>are not
required to match the types to which themacros refer.— end note]
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 16:14:04 -07:00
Max Kellermann
29d05cdb8e
unix/SignalHandlers: pass Instance to ...Init()
2020-02-17 15:23:03 +01:00
Max Kellermann
72ec641f0d
*: use auto
2020-02-01 14:02:43 +01:00
Max Kellermann
4df98466df
output/multiple: add "client" field, replacing the "client" parameter
...
By eliminating GetAnyClient(), we can have instances with no outputs
at all.
2020-01-20 14:51:08 +01:00
Max Kellermann
879bafb837
Instance: move OnIdle() to Instance.cxx
2020-01-20 13:32:43 +01:00
Max Kellermann
6fcea2d484
Instance: move code to OnStateModified()
2020-01-20 13:28:00 +01:00
Max Kellermann
5d597a3646
Instance: manage StateFile with std::unique_ptr
2020-01-20 13:25:19 +01:00
Max Kellermann
5afec8256a
Main: move code to Partition::BeginShutdown()
2020-01-20 09:22:28 +01:00
Max Kellermann
cd612c4eef
AudioFormat: move to pcm/
2020-01-18 20:24:59 +01:00
Max Kellermann
2817bf9e95
copyright year 2020
2020-01-18 19:23:49 +01:00
Max Kellermann
d663f81420
include cleanups (powered by iwyu)
2019-07-05 09:59:58 +02:00
Max Kellermann
e87f0ca771
pcm/Pcm*: drop more "Pcm" prefixes from source file names
2019-06-17 11:17:48 +02:00
Max Kellermann
a139279575
Copyright year 2019
2019-06-17 11:17:30 +02:00
Max Kellermann
5d74b5cee1
input/cache: first draft of the file cache
2019-05-31 17:49:52 +02:00
Max Kellermann
4eb101f046
config/Parser: add ParseSize()
...
Supports suffixes such as "kB" and "MB".
2019-05-29 22:44:05 +02:00
Max Kellermann
7d599c1afc
Main: add Config constructor
2019-05-29 22:22:05 +02:00
Max Kellermann
7c565bce1d
Main: move two more functions down
2019-05-29 22:20:02 +02:00
Max Kellermann
d17ff18ec0
Main: move main() to the bottom
2019-05-29 22:18:06 +02:00
Max Kellermann
efc6b1b77a
Main: fold mpd_main_after_fork() into MainConfigured()
2019-05-29 22:16:32 +02:00
Max Kellermann
fdbec694c6
config/Param: add method With()
2019-05-29 21:50:04 +02:00
Max Kellermann
39046bed85
Instance: wrap ClientList in std::unique_ptr<>
2019-05-29 21:29:55 +02:00
Max Kellermann
71a5c8b819
Main: allocate Instance on the stack
2019-05-29 21:22:25 +02:00
Max Kellermann
620a39afb4
thread/Slack: use std::chrono::duration
2019-05-29 21:11:32 +02:00
Max Kellermann
14cee01ba1
Main: simplify Android startup
2019-05-29 15:08:39 +02:00
Max Kellermann
c782fdb698
Main: use AtScopeExit() to free Android objects
2019-05-29 15:08:38 +02:00
Max Kellermann
49ba76167e
Main: add overload with ConfigData parameter
2019-05-29 15:08:26 +02:00
Max Kellermann
93ab957800
Main: convert int
return types to void
2019-05-29 14:52:58 +02:00
Max Kellermann
f764925edc
Instance: use std::unique_ptr<> to manage the NeighborGlue pointer
2019-04-25 13:09:31 +02:00
Max Kellermann
692c8025a2
Main: use AtScopeExit() to call NeighborGlue::Close()
2019-04-25 13:03:51 +02:00