Max Kellermann
816603fd9a
config/Config*: rename files, drop "Config" prefix
2018-07-16 19:50:07 +02:00
Max Kellermann
73c95d1fb2
TagFile: rename exported functions, use CamelCase
...
And specify whether generic tags are being scanned.
2018-07-06 22:33:35 +02:00
Max Kellermann
3d3a1232b1
tag/Handler: convert to class with virtual methods
2018-07-05 19:07:05 +02:00
Max Kellermann
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
Max Kellermann
b30a510b45
release v0.20.18
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlqR3zoQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEqNGEACGhsZJbhqls0EawfHhpOz/x7JcloMLWvoX
GzuvVinhdFmmFId0akLsg3TCyGElNA+4YzfDjB1TyMpPFBUxM/nnthYPrSmjiT68
t+0IV6OnqFVLE2PF6pHV2Gia0Km746GZBJ+TRLeZSIksADH7nU+soepIA6idwNRN
x8Wo0ashsRIPG3FyL6f/2W/vUvD/enoxohCBB/tvnZ73Px0k2bYAwlBNW/i9/yrX
ktJ2yJqbCkKOhBQnbUvsG72Nrd4/Iz2m7cA//KBVrDEGwNv5hxNKiK/hCq3YK2W9
Ndnl0+EQxNLT1NUwF5e1LS3GtU2Mh3FQwrcq81Cj7o/wEH5e7piKBZhwDCBgOYYH
vLbaLYWK+XW/EqitkRZx5ZBrfNoqOrLreX0d2+AZJOjKDjAWgMZXoOEjmQC9/Dcj
pGcRow4jAusBRJKVN0Wmu6eeVQMjiYJNWehhyhhruShHL2ZAjJSuDhygAFW5YB3I
N2kfhwZWMHVFpA0HvcVx5JwNx7U1OyJGs0lRGThV/6jhnklGzoujvomRNJ6VNx10
ppYhmcLaHm19GR1eb8KCYnZYL2QWoQT5YLVlm0vybTX9i1k3wdf9ezU/n5hB52rP
j20Ol1I9YQw4/L985SV1W+8ll1i71o9paoJx17C8AQpxWWamQLe+vgENt9fPKIPl
aLBYU7hq9Q==
=ndLr
-----END PGP SIGNATURE-----
Merge tag 'v0.20.18'
release v0.20.18
2018-02-24 23:16:06 +01:00
Max Kellermann
ebed7e2147
playlist/cue/Parser: parse tags after "INDEX 01"
...
Instead of setting state=IGNORE_TRACK, ignore only the following
"INDEX" lines.
Correction for commit 8461d71b52
. Closes #227
2018-02-24 21:29:16 +01:00
Max Kellermann
bb1e369f30
playlist/SoundCloud: fix -Wunused-lambda-capture
2018-01-23 09:57:52 +01:00
Max Kellermann
c6a4a4edf1
playlist/Print: add "noexcept"
2018-01-21 11:35:31 +01:00
Max Kellermann
45748a2bb0
playlist/Song: add "noexcept"
2018-01-21 11:35:28 +01:00
Max Kellermann
9b13d862c1
playlist/Registry: add "noexcept"
2018-01-21 11:35:27 +01:00
Max Kellermann
590edc648a
playlist/Plugin: add "noexcept"
2018-01-21 11:35:25 +01:00
Max Kellermann
a9847ebf54
playlist/Queue: use "auto"
2018-01-20 20:14:19 +01:00
Max Kellermann
926d4150c5
playlist/SongEnumerator: allow NextSong() to throw exceptions
2018-01-20 20:11:15 +01:00
Max Kellermann
6f267adc14
playlist/SongEnumerator: add "noexcept"
2018-01-20 20:10:46 +01:00
Max Kellermann
0095e2d7d8
playlist/Plugin: use std::unique_ptr<SongEnumerator>
2018-01-20 19:59:42 +01:00
Max Kellermann
147f64e1fc
playlist/Plugin: remove useless wrapper functions
2018-01-20 19:58:11 +01:00
Max Kellermann
55d1473918
lib/yajl/Callbacks: OO wrapper for yajl_callbacks
2018-01-11 20:25:17 +01:00
Max Kellermann
26b1573cbe
playlist/SoundCloud: move code to Yajl::Parse(InputStream&)
2018-01-11 20:08:02 +01:00
Max Kellermann
7fe07324d7
playlist/SoundCloud: soundcloud_parse_json() throws exception
2018-01-11 20:08:01 +01:00
Max Kellermann
8e29430f21
lib/yajl/Handle: libyajl C++ bindings
2018-01-11 19:25:46 +01:00
Max Kellermann
914df18bf9
Main, ...: catch any exception, not just std::runtime_error
2017-12-19 10:56:23 +01:00
Max Kellermann
2a774a1fea
playlist/{flac,m3u}: use std::make_unique
2017-11-26 12:10:33 +01:00
Max Kellermann
f70b4e02c4
Merge branch 'v0.20.x'
2017-11-14 21:21:14 +01:00
Max Kellermann
c98bc4a243
playlist/PlaylistRegistry: use LockRewind() instead of Rewind()
...
Fixes a deadlock caused by commit
31ab78ae8e
. That commit was not
actually bad - just these two calls have always been bad, which went
unnoticed for a long time.
2017-11-14 21:19:22 +01:00
Max Kellermann
da9657aac4
playlist/SoundCloud: move enum key into struct, make strictly-typed
2017-09-21 23:10:11 +02:00
Max Kellermann
2886766fb5
playlist/SoundCloud: use strcmp() instead of memcmp() to avoid buffer overflow
2017-09-21 23:08:27 +02:00
Max Kellermann
501a4af914
util/StringUtil: move strip functions to StringStrip.cxx
2017-07-05 17:20:02 +02:00
Max Kellermann
86d05e98e5
release v0.20.8
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlkfNQ4QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEm0/D/92uGQTZ8x3qMpMN7R0jw4GBYjkqCDtz2wH
UujnfqUZfr852wkFBP3LiraicGr5dzsRwM272hlXeMDp3s3EPT8eNIgwiETDreD/
NpA/Pqyl4ZfvyPGkrtvW2ZMWENVrGjAoygHQr3evemIdH5ypxWCzSaNbiOyeabqp
+HqyOFeJckUHC70A2vOU8jredhGFYWOdKRZT9WRdBLTwaKd80DRmsKxi8d5Yc/ms
nVeGCVpF9OpyjlJu0+7v3DT0ekgTJI2CihZT3GdasCRllPa397uHiqKeah2DkOId
z1AMcxhzR+tz4cafW5iz8xtyIDdXPL+SD58wkuUDJO2ePCNRLTt1zW9ijJFWzocu
o6MTyn7mpN2Zp/dLLUrxNkNKTT/YvaaGBIn4fuLPbGQXNjITyVRkw233fOz/6c39
EOcR86ws60e4F2JLbxN3lEKL5bLkLPNK2J+xWEpRHGXy5Bfn6C8uQklno3h3urHG
DI2p+3og/+7I+MNOX88CMZBdNpfqiWKNSrSAAsi99CwIXIYz0qlKPx9qQyTK0wyh
xPrU/j5GGQqR2eoR6eChiB3LOE8SLxfeLgrMJ2HB+w550F4KxaCVxpxpWI3D0GX8
+tC4uDE+LkGdOc1pbOYUHQWNhFwy3jRxo+wkcb5wz5QXBVVEGlYqo5BcSeX1Clx+
kiO3g9SNlg==
=mUPF
-----END PGP SIGNATURE-----
Merge tag 'v0.20.8'
release v0.20.8
2017-05-19 20:13:01 +02:00
Mario Di Raimondo
ffa676f577
playlist/m3u: support for mime-type audio-mpegurl
for M3U playlists
2017-05-19 15:25:58 +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
71ce1a25dd
SongPrint: remove Storage::MapToRelativeUTF8() call
...
This code (added 7 years ago with commit b233c145f
) has been obsoleted
by the SongLoader class (added 3 years ago).
2017-02-24 13:56:13 +01:00
Max Kellermann
f689e28958
SongLoader: return instance, not pointer
2017-02-08 10:02:08 +01:00
Max Kellermann
a3e28c2d1a
tag/Tag: move tag_name_parse() to ParseName.cxx
2017-02-08 08:57:22 +01:00
Max Kellermann
03a97d87ea
tag/Tag*: rename several source files
2017-02-08 08:49:42 +01:00
Max Kellermann
d91d5a3ab5
playlist/SoundCloud: eliminate unnecessary casted variable
2017-01-20 17:16:11 +01:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
31d77ec580
input/curl, ...: use strncmp() instead of memcmp() to avoid crash
2017-01-03 13:17:02 +01:00
Max Kellermann
2e182e84c3
thread/Mutex: remove ScopeLock, use std::lock_guard directly
2017-01-03 07:11:57 +01:00
Max Kellermann
22dcca9832
util/Error: remove obsolete class
2016-11-10 12:58:26 +01:00
Max Kellermann
ed68fd4ab3
queue/PlaylistUpdate: include cleanup
2016-10-27 22:19:26 +02:00
Max Kellermann
6961bd61ca
LocateUri: migrate from class Error to C++ exceptions
2016-10-27 22:04:41 +02:00
Max Kellermann
6135f0763b
playlist/cue/CueParser: update API documentation
2016-10-26 17:07:52 +02:00
Max Kellermann
8c744efd56
input/InputStream: migrate from class Error to C++ exceptions
2016-09-16 17:43:36 +02:00
Max Kellermann
fc7d3f64c0
input/Plugin: migrate open() from class Error to C++ exceptions
2016-09-09 18:15:01 +02:00
Max Kellermann
20894d1c5e
playlist/SoundCloud: use AtScopeExit()
2016-09-09 18:04:11 +02:00
Max Kellermann
2f03d2234a
playlist/SoundCloud: use std::string
2016-09-09 18:01:36 +02:00
Max Kellermann
dadf3d846b
playlist/SoundCloud: implicit SoundCloudJsonData initialization
2016-09-09 18:01:01 +02:00
Max Kellermann
941a9284b9
playlist/SoundCloud: rename struct parse_data to SoundCloudJsonData
2016-09-09 18:00:26 +02:00
Max Kellermann
4ee3820bd6
playlist/SoundCloud: make parse_callbacks constexpr
2016-09-09 17:59:42 +02:00