Max Kellermann
|
9a29d02e7e
|
Merge branch 'v0.20.x'
|
2018-07-06 19:43:01 +02:00 |
|
Max Kellermann
|
b8259e604a
|
db/update/{Walk,ExcludeList}: use InputStream to read .mpdignore
Supports .mpdignore on NFS/SMB and others (closes #290).
|
2018-07-06 19:19:04 +02:00 |
|
Max Kellermann
|
63406efcd8
|
db/update/ExcludeList: allow comments only at start of line
|
2018-07-06 18:27:17 +02:00 |
|
Max Kellermann
|
d5c132fca0
|
db/update/ExcludeList: move code to ParseLine()
|
2018-07-06 18:25:27 +02:00 |
|
Max Kellermann
|
65bbb0e0aa
|
release v0.20.17
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlqAMO0QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEg8eD/49NlFvlNdkamgYvh7MI1Sn67yKAwQt+N51
W0hVnmXwPoSg76gfWw8J9kVyQy/jEkaCxsPF/UuEbH5jzqAC0y8hwYVRkJaRc9wN
ZfwHvLHeaUxQweoguEwRSREy4ZC4ImQOK+eAxI1R43mqxxyhko1Akc1NmRVWzYfv
/FGmAjTi1U6FR/yDpdSFn1NdlPmIgZ4WDuRsDT2NrshX/Bb32FiyZBytvek2P8n/
QNgXv18E4yWXSb+zBYhPy/eaKhGasyjI3cbht1F0hNW9Yo/BsFxDuwXrX1vNBaOS
E3Dux4s/nfcJ4RMRjmrkFwXImCvxt7+AGfh8RYBXuwqMExXz2kZjIs4ZVvO7Nu9A
pFDJQwRIojXMfk73LU/MEpmNNEXhvfQLYkrM7poSqYaOr8SWMszqSgNnnfq6+flB
sJbstgAStI6lL0jy0HrtMTvPVEiAGh6wCvMy/r2G9XUAyw76ccOg7MaIldn0MHJv
A51+GfRTi4ILH0ReL1BGAg9nG97uFmRAWGkfkhtyD540xGRk7x5R8/ml4zFogHN6
SbrV0NPdwk+uFd0y2znQT2gWyjc0id4WEKEoHX+Gl6c5qtPIfrq+PQPyk9kR+u+i
AxwqMoKQer6Ji5qnsvCiKSkaGGiVNivrZ11jDWNCZaKjmvlKlvj/P5GxbPpORorq
v4ru/4vNXQ==
=v4t8
-----END PGP SIGNATURE-----
Merge tag 'v0.20.17'
release v0.20.17
|
2018-02-11 13:22:43 +01:00 |
|
Max Kellermann
|
c801936e53
|
db/update/Service: set the update thread name
|
2018-02-09 18:48:14 +01:00 |
|
Max Kellermann
|
250b6a3d52
|
release v0.20.16
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlp2BjEQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEl0HEACEOGoX3a8slWwuPsqdOu+thc73SIMVzqF9
xzxFbGLyp0MzXTAgU+SLzfbD4/gerglC7TRbGzsvVu7iwxXeKhEL/SJ5RhrCQM3E
U8jaOeavMWeqX60pdbTz2zw4maKAD7U3fWcYxoh09EBaZa7Mm/j7URPLqrlWT7VD
iWqdLcC4HZarOxBbq0CY7rQPVsAVZZ5l43MDV6hiInSn0wWo783G6BtYFgvgH8qk
pZIL0yScQrjyj9D0fgfDC9DBVfHqMqpWW5G2rNhsXTUtpdb9V5tB2B8ZbIUWJfD7
aVFztCwwmbiBle4UBHfyyDLfZkBZmU/qKc9+I3WUxT4DLbA8gDXZFjb7zU80NMge
xzbXeO7XvxvSm7groqRh3Vy0nbkBMB9wTwzre3ULhYyhY2vVISb9lSyRtUE9xuR8
SL2zpdgVcFdTUSKat63ikeU4sbYvssra3ZDRnAyoFF2iVpT2J2B95ZVNfaIYbRSQ
lidlz8q3Px5GUDe3D0ao3hFk5t1Hg2jXx3nbz/Kk+SwZpsaiCewl6zjptye7R7zD
e9OMxYrU+/opsynRE5NFuTvkRKUG1kC47/rWgGZWI9Cbv8+lse1NO0c7VzM7o1hH
Bfk5AhEkv8tLNM+39evXdNQVB0cna5ndSDOkYBcPI78/PUNd+TnrPdfI/W3NCnRl
I+CWQE3uSQ==
=+tJ2
-----END PGP SIGNATURE-----
Merge tag 'v0.20.16'
release v0.20.16
|
2018-02-03 19:59:29 +01:00 |
|
Max Kellermann
|
e573cbf032
|
db/update/Queue: work around GCC7 -Wuninitialized
|
2018-02-01 19:53:42 +01:00 |
|
Max Kellermann
|
1c023eac70
|
db/update/Walk: add "noexcept"
|
2018-01-21 11:53:59 +01:00 |
|
Max Kellermann
|
61eb2aa328
|
storage/Interface: wrap StorageDirectoryReader in std::unique_ptr
|
2018-01-21 11:04:30 +01:00 |
|
Max Kellermann
|
8bd95a4eb1
|
db/update/Container: include cleanup
|
2018-01-20 00:25:57 +01:00 |
|
Max Kellermann
|
bbc5212436
|
fs/AllocatedPath: make the nullptr_t constructor public
|
2018-01-17 12:17:41 +01:00 |
|
Max Kellermann
|
8649ea3d6f
|
thread/Thread: use BoundMethod
|
2018-01-07 17:20:26 +01:00 |
|
Max Kellermann
|
2e0949d8e6
|
archive/Plugin: return std::unique_ptr<ArchiveFile>
|
2017-12-27 09:07:21 +01:00 |
|
Max Kellermann
|
9aec2f019a
|
archive/File: eliminate Close(), make destructor virtual instead
|
2017-12-22 16:30:17 +01:00 |
|
Max Kellermann
|
4319dedb23
|
db/update/Walk: use std::atomic_bool for the "quit" variable
Fixes thread sanitizer warnings.
|
2017-12-22 12:02:44 +01:00 |
|
Max Kellermann
|
914df18bf9
|
Main, ...: catch any exception, not just std::runtime_error
|
2017-12-19 10:56:23 +01:00 |
|
Max Kellermann
|
6246d36fe6
|
Merge branch 'v0.20.x'
|
2017-12-16 20:56:06 +01:00 |
|
Max Kellermann
|
dfaf08743c
|
*: check defined(_WIN32) instead of defined(WIN32)
Only _WIN32 is defined by the compiler, and WIN32 is not standardized
and may be missing.
Closes #169
|
2017-12-12 10:22:20 +01:00 |
|
Max Kellermann
|
fbc4bb29dc
|
Merge branch 'v0.20.x'
|
2017-12-03 16:22:08 +01:00 |
|
FlashSystems
|
63fc98591d
|
Fix for "Mount-Points are purged from database on update/rescan."
Signed-off-by: FlashSystems <developer@flashsystems.de>
|
2017-11-27 22:34:49 +01:00 |
|
Max Kellermann
|
0db7a0c9e2
|
db/update/Service: migrate from DeferredMonitor to DeferEvent
|
2017-11-10 20:58:25 +01:00 |
|
Max Kellermann
|
13f6b1b344
|
db/update/Remove: migrate from DeferredMonitor to DeferEvent
|
2017-11-10 20:56:21 +01:00 |
|
Max Kellermann
|
7e16ac305d
|
event/SocketMonitor: rename Get() to GetSocket()
|
2017-11-10 20:34:45 +01:00 |
|
Max Kellermann
|
59a8836924
|
event/SocketMonitor: add "noexcept"
|
2017-11-10 20:20:07 +01:00 |
|
Max Kellermann
|
3491218915
|
db/update/Service: use C++11 initializers
|
2017-09-09 07:59:51 +02:00 |
|
Max Kellermann
|
dc531b64ae
|
db/update/InotifyQueue: migrate from TimeoutMonitor to TimerEvent
|
2017-08-29 16:38:50 +02:00 |
|
Max Kellermann
|
5ac72211cd
|
event/Loop: set thread to current thread by default
Allows eliminating lots of complexity and workarounds for bogus
assertion failures.
|
2017-08-18 18:18:55 +02:00 |
|
Max Kellermann
|
b886dfae4d
|
DetachedSong, db/LightSong, db/simple/Song: use std::chrono::system_clock::time_point
|
2017-08-18 12:22:47 +02:00 |
|
Max Kellermann
|
902fbb3347
|
db/LightDirectory: use std::chrono::system_clock::time_point
|
2017-08-18 12:16:43 +02:00 |
|
Max Kellermann
|
6f37f5752b
|
db/PlaylistInfo: use std::chrono::system_clock::time_point
|
2017-08-11 12:50:33 +02:00 |
|
Max Kellermann
|
492b20a89d
|
event/SocketMonitor: use class SocketDescriptor
|
2017-08-10 19:19:58 +02:00 |
|
Max Kellermann
|
501a4af914
|
util/StringUtil: move strip functions to StringStrip.cxx
|
2017-07-05 17:20:02 +02:00 |
|
Max Kellermann
|
979f1b6c39
|
release v0.20.9
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlkz5jkQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEubuD/kBXMcV4XawqGNNtSHdrY8CxSL8wJMCMJQl
aMgRkKLPRml8Hj9FNNG9pjXBuT+qUgPX7t9gBEiT7c+sV3fHH40gUf1js5GIsEPm
BAVfvww5EhmQWWVhPTLk1iZ4jp6E96mDmIG1znwo7etSZHXU8RJfR7woBi3SPJ9f
OPcrimskNuWpAWeaEIKi/1Iwzy8d9VK9Ttb73gA3M5zSm7ioXzt3YClpwLRM8JU6
QeUJchy6VwXnygswjUNmbhPc3GsD2FyUZ4OtJ0hodnqqajfldBxhcHUnQk4zZULr
1nLSyOuA9bwLuFohH1T6HiY9z8PFzgqdIHvsjOJgZ4gQa69PVNjal2tUEUav9zFv
aK4LvTVPnIk+hqRbtLpV7/rPKuClrC9BO4oYdBGBDNY4hqVpvRA9obP1s00aOi+K
UhYqLqg7yeIEeTlUxFOhXJCKAEL69BuXT5ihJtDlB/dCUzv37sEch/4WDgs7uc+O
9kJYlElvozw57mbczsee/PCSnSWrLCq/qG/bNEUUQOTueWNuifh3PL62UXGgfbEH
01hJDyLr6ETSmWn7rjTfLJiHThX/EQQvOhs+35fbCyry65z4tFwrilGDmFVUWGPq
/6QEpY1D6q4fkoma/iWOZoTkfKewatAPGMGWoJaGhCnfQFz4VTFtS2bDtuUctQ16
jnXnPFxqBw==
=0SSp
-----END PGP SIGNATURE-----
Merge tag 'v0.20.9'
release v0.20.9
|
2017-06-04 12:57:05 +02:00 |
|
Max Kellermann
|
a057b4f6d8
|
*: add lost of "noexcept" specifications
|
2017-06-04 12:46:48 +02:00 |
|
Max Kellermann
|
4faef28cc5
|
release v0.20.7
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlkaFL0QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEr4ID/9iAQC+7fFv06uLOm48Ufu+PgoD8uJkAwF5
QuLQkc85g9urn+bu9N7Qs7Vypp7aLyGcJKY0jyA8wxkOj24pUC3GYk80daUt561V
5s20FnoS/Uoman3CSJL94IfCUBxejizE6vgIIHTc5bb6U0qIsPub/8JTTE2Ih7uP
nvFZ5uBQ+YTc7at+iIH9123eUMKkitkh8osNblovqQT9v42++Tm4ztAytRHBjwUA
Itew5HhlvahbLKqFs/7vmICh/YX1FcOV7cV+erEWYfkH0KCI2bhSle4u2d0CBOvD
VJlDnBCo9bM7WKcPYqJiFFFXA0CRk06wbkkkAtwF4zjp8xos7aQcq4FyQnYL8KXo
5lijIhRwBURBd+nt8oA9kuEhBt/T75otcemJkzVaYappHTJCLjhxSGcPt8mw+nE9
9WQzsp/MIVzg9l5g3D9S/43xM7uhvn98Tn1Qf2s8YRd2o8CZeOhW+X3RvbCvVPv2
mOlx4sFAv8DOJ3KxMdqiJT+PmylPyJluQdqH+tMc8BdPg/kpSpYIPTuSjjRqK1yh
ld5do0HtAAwiHtvXfk5YVFjJSpO0c8yVn6xci2Cl4k/5ZHj2UE1ln+N5vCea2BRF
2J3HAjROwtcwY3lU1jFnEAogf24KWiFJqhhC0EqBGUdlrM8Dn37P5cEWWjROIMNK
lPEdovokNw==
=CdDy
-----END PGP SIGNATURE-----
Merge tag 'v0.20.7'
release v0.20.7
|
2017-05-15 23:01:49 +02:00 |
|
Max Kellermann
|
71f0ed8b74
|
*: add "noexcept" to many, many function prototypes
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
|
2017-05-08 14:44:49 +02:00 |
|
Max Kellermann
|
6636c69a11
|
storage/FileInfo: convert mtime to std::chrono::system_clock::time_point
|
2017-02-11 23:45:15 +01:00 |
|
Max Kellermann
|
781487c4dd
|
thread/Thread: use BoundMethod
|
2017-02-10 22:46:09 +01:00 |
|
Max Kellermann
|
5900253b85
|
update copyright year
|
2017-01-03 20:48:59 +01:00 |
|
Max Kellermann
|
2e182e84c3
|
thread/Mutex: remove ScopeLock, use std::lock_guard directly
|
2017-01-03 07:11:57 +01:00 |
|
Max Kellermann
|
b042095ac2
|
event/Loop: use std::chrono
|
2016-12-28 01:15:08 +01:00 |
|
Max Kellermann
|
95e2bec215
|
decoder/DecoderPlugin: container_scan() returns forward_list<DetachedSong>
Speed up container_scan() again, by eliminating the need to call
scan_file() for each item.
|
2016-11-22 16:49:31 +01:00 |
|
Max Kellermann
|
c5133f6088
|
db/update/Container: catch C++ exceptions
|
2016-11-22 12:16:14 +01:00 |
|
Max Kellermann
|
0abee77e62
|
decoder/DecoderPlugin: container_scan() returns forward_list<string>
|
2016-11-22 09:33:52 +01:00 |
|
Max Kellermann
|
4bd67bc298
|
db/update/InotifySource: migrate from class Error to C++ exceptions
|
2016-10-28 10:35:31 +02:00 |
|
Max Kellermann
|
1560749579
|
db/update/UpdateIO: include cleanup
|
2016-10-28 10:22:44 +02:00 |
|
Max Kellermann
|
c598686bd9
|
storage: migrate from class Error to C++ exceptions
|
2016-10-27 21:35:19 +02:00 |
|
Max Kellermann
|
100308db02
|
db/update: catch exceptions from Storage plugins
|
2016-09-16 17:43:32 +02:00 |
|
Max Kellermann
|
220d9528a3
|
archive/Plugin: migrate open() from class Error to C++ exceptions
|
2016-09-09 18:36:36 +02:00 |
|