Max Kellermann
|
2fd5182608
|
db/Interface: GetSong() throws exception on error
|
2016-03-19 00:19:50 +01:00 |
|
Max Kellermann
|
7ad7caa2ae
|
queue/PlaylistUpdate: extend catch clause
|
2016-03-19 00:19:47 +01:00 |
|
Max Kellermann
|
06c172838c
|
queue/PlaylistUpdate: catch and ignore DatabaseError
Fixes regression by commit 42f7df96
|
2016-03-18 18:25:16 +01:00 |
|
Max Kellermann
|
1543dd85b5
|
queue/Playlist: don't let StaleSong() interrupt playback
http://bugs.musicpd.org/view.php?id=4470
|
2016-03-18 18:08:13 +01:00 |
|
Max Kellermann
|
f37a1026f9
|
queue/Playlist: rename DeleteSong() to StaleSong()
|
2016-03-18 18:01:01 +01:00 |
|
Max Kellermann
|
91fb7fa3d8
|
queue/Playlist: pass unsigned to PlayOrder()
|
2016-03-18 17:49:29 +01:00 |
|
Max Kellermann
|
7b70153068
|
queue/Playlist: document that current/queued are "order number"
|
2016-03-18 17:35:29 +01:00 |
|
Max Kellermann
|
9a9b6fa326
|
queue/Playlist: add interface QueueListener, replacing calls to idle_add()
|
2016-03-10 20:10:14 +01:00 |
|
Max Kellermann
|
ba43ec5759
|
queue/Playlist: remove redundant "struct" keyword
|
2016-03-10 20:03:45 +01:00 |
|
Max Kellermann
|
008a9560fe
|
queue/Playlist: call OnModified(), eliminate duplicate code
|
2016-03-10 20:03:01 +01:00 |
|
Max Kellermann
|
1aee89f5ea
|
*: include cleanup (using iwyu)
|
2016-03-01 22:08:13 +01:00 |
|
Max Kellermann
|
fb547260d1
|
player/Control: Play*() returns Error information
|
2016-02-28 13:31:41 +01:00 |
|
Max Kellermann
|
2065e32904
|
queue/PlaylistControl: clear "queued" before calling LockSeek()
This is necessary to avoid an assertion failure in UpdateQueuedSong()
after LockSeek() has failed.
|
2016-02-28 13:19:44 +01:00 |
|
Max Kellermann
|
9de984f7f8
|
queue/PlaylistControl: throw PlaylistError on error
|
2016-02-28 11:04:35 +01:00 |
|
Max Kellermann
|
b6cb9b853a
|
queue/PlaylistEdit: throw PlaylistError on error
|
2016-02-28 11:02:36 +01:00 |
|
Max Kellermann
|
50b930f283
|
playlist/edit: use std::unique_ptr
|
2016-02-28 11:00:59 +01:00 |
|
Max Kellermann
|
c81747dd15
|
queue/PlaylistTag: throw PlaylistError on error
|
2016-02-28 10:40:31 +01:00 |
|
Max Kellermann
|
f8810d7caf
|
PlaylistError: add NotPlaying()
|
2016-02-28 10:38:17 +01:00 |
|
Max Kellermann
|
1d67aa7bf2
|
update copyright year to 2016
|
2016-02-26 17:54:05 +01:00 |
|
Max Kellermann
|
6350089e51
|
release v0.19.13
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJWzMnGAAoJECNuiljG20US5yYP/jL9A313aMgUO/R8eVGNc7uJ
CwiKROtgd+M47si1qdduzdrPKrFK2tEGYT0El5uQsyDuIsmPB01c3ZqnlM8oO6ca
5tXXJiEvyMkupCEzAajTHqvDCyPx0+o1ektYm9SouAULjOMztIpsVU3oKc8Z78Yc
TkpaRwUjNaekGLf0kATesBYnWkKR7S/TLYKmaKUaPCcK/i2S8YhTC57a1yZjg3lE
w57Kh+tFLZCSiZChk9A5D6w1kKzDgiyNGRYK4F2TRfiQ6hML4F45EFgzfCg+zHi8
+OIE9C1ZQt/NQ6mib+OUWoGuHtfjR20F/OFnQEYvkyXQ32j1sbALe7IHCceX7IHl
U88hcIh2yEr1x3TUaVyYPLze4FBq/Uxv/gFH8FVKTWmcb90MJgXCNFbO3sfO9kk0
KYK0IDoHE9MSmWhblA1FFFHU8VmCMsTN0VhBan+XP2wgXnGX+UvjU7AWJm4Fkwx0
H8uP0Si5wtI9DZ+2SRyGhMfW/+pHsqD+O6PoSSfUyU3ZnPy+cAVEC+67oKJ9pZkA
najeYaMt0Kz88RvLEwNeLkiys62O8aTsBpfjeNfmUAISJzZZbIvC20tyroHrju30
TgbXff2Hnx4q+NQ7nbQN5HMVZ2JLLPMYYw+N0dP41g/ULubHS6btGOVwgTWoFwBo
i2L1uscoD1ONxIEOlIvl
=X7s3
-----END PGP SIGNATURE-----
Merge tag 'v0.19.13'
release v0.19.13
|
2016-02-23 22:13:43 +01:00 |
|
Max Kellermann
|
39fa949345
|
queue/Playlist: move only the tag items in TagModified()
Fixes disappearing duration of remote songs during playback.
See http://bugs.musicpd.org/view.php?id=4492
|
2016-02-23 21:01:55 +01:00 |
|
Max Kellermann
|
8bb5a565cd
|
PlaylistError: add exception class wrapping enum PlaylistResult
|
2015-12-18 09:21:11 +01:00 |
|
Max Kellermann
|
004da5d385
|
queue/Save: fix "Malformed playlist line in state file"
Regression by commit 738583e3
|
2015-11-13 20:45:50 +01:00 |
|
Max Kellermann
|
4404f20cf4
|
player/Control: Seek*() returns Error information
|
2015-11-11 19:56:09 +01:00 |
|
Max Kellermann
|
5e93c05095
|
queue/Playlist: seek methods return bool/Error instead of PlaylistResult
|
2015-11-11 19:56:01 +01:00 |
|
Max Kellermann
|
36239895bd
|
player/Control: add Lock prefix to locking method names
|
2015-11-11 16:50:57 +01:00 |
|
Max Kellermann
|
738583e3d4
|
StateFile: use StringAfterPrefix() instead of StringStartsWith()
|
2015-11-11 15:34:36 +01:00 |
|
Max Kellermann
|
733989a284
|
util/StringUtil: move comparison functions to StringCompare.cxx
|
2015-11-06 09:20:18 +01:00 |
|
Max Kellermann
|
8acf996d90
|
command/queue: add range parameter to plchanges and plchangesposid
|
2015-10-27 20:35:40 +01:00 |
|
Max Kellermann
|
5fba8d773c
|
PlayerThread, ...: move to src/player/
|
2015-08-15 15:55:46 +02:00 |
|
Max Kellermann
|
7652a2986b
|
client/Response: new Client wrapper class for writing responses
|
2015-08-12 08:41:05 +02:00 |
|
Max Kellermann
|
b31d171ae8
|
*: doxygen fixups
|
2015-03-17 11:21:43 +01:00 |
|
Max Kellermann
|
929ec70512
|
queue/PlaylistState: remove unused macro
|
2015-01-22 18:44:30 +01:00 |
|
Max Kellermann
|
1c3f5517fa
|
config/Option: convert to strictly-typed enum
|
2015-01-21 23:30:00 +01:00 |
|
Max Kellermann
|
712ed555e6
|
Copyright year 2015
|
2015-01-01 19:48:13 +01:00 |
|
Max Kellermann
|
12b6959ea2
|
Playlist: reset song priority on playback
A priority should be a volatile thing: it should schedule a song for
playing back once, but it should not affect the next time the queue
gets played.
|
2014-11-26 08:54:16 +01:00 |
|
Max Kellermann
|
7519768cb1
|
Queue: add "reorder" parameter to SetPriority()
|
2014-11-26 08:50:58 +01:00 |
|
Max Kellermann
|
9af470c92d
|
Playlist: add method SongStarted()
Empty currently, but code will be added song.
|
2014-11-26 08:49:19 +01:00 |
|
Max Kellermann
|
ac8c1d0a01
|
Playlist: move more functions into the class
|
2014-11-26 08:34:51 +01:00 |
|
Max Kellermann
|
921d01b59d
|
Playlist: add another assertion
|
2014-11-26 08:25:48 +01:00 |
|
Max Kellermann
|
8aa4a66ba0
|
Playlist: move playlist_song_started() into the class
|
2014-11-26 08:24:25 +01:00 |
|
Max Kellermann
|
6e04d66a35
|
release v0.18.13
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUAxsyAAoJECNuiljG20USmRAP/2J/+kV5TRfqr7acFKh/aqip
RAefHTvHpYuAUDOi3WDVSZcmMnaYGKslZhbXhqchbRfR2oMwYhR+5gHIoxOp+EcL
09UF1fJfUnjg6B2zz6tggIWR53Dwxckg4xEaKtI2Wi3Gz+9Q/CiNlpWLJc0ONA5e
9gcz8pNK3oN0Em9c1KXahZKArzGdOGeytfSI3PLE+QnRiEyEDz1+StxIuyl72vr4
ar2EMa9Vdvb7ouNK0g8WqaEOzYyNDXhklIqc+zALQJGThY1xj6OCfQ8JVagJhzwB
UDuYfX1FylkN8LhF5pNzH1F0ANMozWcqeZlLLph6vuKkVBD7WUX4X1t82bwUlFDB
ppdA5pPkiXsqYnuhHML4GqL7LlI2wsMxUHK7v+A9+9hfGN9HIoFyOSLBjB1pyI93
yi8IPOq2a1BJQfQ2c69693ZS7WPxU6vOFKucKrk9PBlr2900SlvpMzIpZr1PMnGV
hoU8eLHOIW86wi5Ea2ycFbFyI1ZoyrKJmzcVJjPjZUT05jDV6bA2Gi1IG6gIhX1q
DiBfXUre+GISkLS4r8GcbG1FIXcv7fGjZ6Vols5di8lpYQ5oBu5aw2TEf8zukrHC
LzPRa2l6Mhe2OI7a/mmTaEYDINgCL//46hOU5mIbmB0XZS8Jf+D1/HBzqKpeqO7f
idENtbelqQdSsR5UU+R0
=c2vC
-----END PGP SIGNATURE-----
Merge tag 'v0.18.13'
|
2014-08-31 15:03:34 +02:00 |
|
Max Kellermann
|
75a89c5983
|
PlayerThread: use SongTime for elapsed_time
|
2014-08-29 13:20:58 +02:00 |
|
Max Kellermann
|
7c25d83f1c
|
Tag: use SignedSongTime for the song duration
|
2014-08-29 13:20:58 +02:00 |
|
Max Kellermann
|
127fe6ecf0
|
PlaylistEdit: pass std::chrono::duration to SetSongIdRange()
|
2014-08-28 13:03:18 +02:00 |
|
Max Kellermann
|
6ad933982f
|
DetachedSong: use std::chrono::duration for start_ms and end_ms
|
2014-08-28 13:03:18 +02:00 |
|
Max Kellermann
|
3952920492
|
Playlist: use std::chrono::duration for Seek*()
|
2014-08-28 06:42:19 +02:00 |
|
Max Kellermann
|
0f2a7226fb
|
PlayerControl: use std::chrono::duration for Seek()
|
2014-08-27 19:07:16 +02:00 |
|
Max Kellermann
|
aafff8fd5c
|
fs/output, fs/TextFile: move to fs/io/
|
2014-08-07 19:38:25 +02:00 |
|
Max Kellermann
|
9fb351a139
|
*Save, *State: use the OutputStream API instead of FILE*
|
2014-07-30 22:17:01 +02:00 |
|
Max Kellermann
|
80d9baa9e8
|
QueueSave: use the long format to save partial songs
Previously, only streams were saved with range and tags, but this is
necessary for all "partial" songs (e.g. CUE tracks).
|
2014-07-12 19:36:39 +02:00 |
|
Max Kellermann
|
751995ab95
|
QueueCommands: new command "rangeid"
Manipulates the playback range of a queued song.
|
2014-07-12 18:55:41 +02:00 |
|
Max Kellermann
|
46ff830daa
|
PlaylistEdit: fix typo in code comment
|
2014-07-11 21:37:06 +02:00 |
|
Max Kellermann
|
828cd6fd0b
|
Merge branch 'v0.18.x'
|
2014-07-11 21:33:50 +02:00 |
|
Max Kellermann
|
1c02b4b9f4
|
release v0.18.10
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTRoKFAAoJECNuiljG20UScmgP/3bXQLBVqnGdMEzJio9qfTqz
inqbuaR8FrOSQFT5ULpYYipcjiqxCpG2ooE2M083F3wXDHF8u+j0S84NEvHQjv0T
WvA5EOOeEJS0o0gREZb8onO8NVwH+f1r4x34PAc4QbSeROiAiJRPmfTOZBDTaQkZ
Fy4CGte9UqLvUG10Jxpn1DgcBBeoge9Ruzm+drBLHh53lAfKZH6z9u23htNc4PH0
WMN3/orL7KZNxMtX37zqQDhkbPv2RjCWc0JJ8yxBzw3r/qG53GkmCBsStub6wKIi
iPgkoKXii+FAlg1oRmvVNELmOUDjhnBj8+g7q6WgJGpYqdcSCQBRIBnPPRn6Tfw3
wS7MtGoH7M4yihOfeburIzN0JiD4dtcnA7CrA9ghWt3C0Hci9Q/eni7xHgAuJ7Gp
fD0aEGeaQiQZC8r1UYkgvPuc+CXpsjPcpoN2TlYwDJ3VPQcikHVqTUkJxf5rEGbL
h5K0jhW/TzgT0quozd50w52X/n5J76X8oEng08271OPMlF+6gawGA2/AeDsomRTp
n8OPVutpyaGE3gKGYLGKj3cEnP15tQyt3U0kiU+ccG7osEPXr8JU/A4fipqcrwnN
lwejiIKzfZBU68kwS+gtQLiBncT3oh5tEiLJNzYYpPCF0wkDYt2u/rhRxnVjRoXO
5B9PRaOPuJ5N+6O2hGNS
=qsUE
-----END PGP SIGNATURE-----
Merge tag 'release-0.18.10'
|
2014-04-10 13:49:20 +02:00 |
|
Max Kellermann
|
1c772ef699
|
Playlist: use the Error library to return errors
|
2014-02-27 17:27:23 +01:00 |
|
Max Kellermann
|
809b89b5af
|
Playlist*: move to queue/
|
2014-02-27 17:12:42 +01:00 |
|
Max Kellermann
|
5ad2980d69
|
QueueSave: use class SongLoader
|
2014-02-03 23:32:31 +01:00 |
|
Max Kellermann
|
4465e2c46b
|
db: add compile-time option to disable database
|
2014-01-30 20:39:40 +01:00 |
|
Max Kellermann
|
9d34fc394c
|
Database*: move to db/
|
2014-01-24 16:38:44 +01:00 |
|
Max Kellermann
|
e199c33c6e
|
Client*: move to client/
|
2014-01-24 00:26:53 +01:00 |
|
Max Kellermann
|
129eb178eb
|
Queue*: move to queue/
|
2014-01-24 00:17:50 +01:00 |
|