Max Kellermann
|
2406152576
|
output/alsa: fix endless loop at end of file in dsd_usb mode
|
2014-08-31 14:01:57 +02:00 |
Max Kellermann
|
af260b5a64
|
output/{alsa,oss}: add assertions
|
2014-08-31 14:00:09 +02:00 |
Joachim Fasting
|
4efa96df21
|
doc/protocol: fix description of "stats" response
Fix incorrect description of the "songs" field and add missing
"albums" field.
Signed-off-by: Joachim Fasting <joachifm@fastmail.fm>
|
2014-08-31 13:16:39 +02:00 |
Max Kellermann
|
26bef5d209
|
DecoderAPI: use std::min()
|
2014-08-31 08:27:51 +02:00 |
Max Kellermann
|
cd6e0ff88a
|
MusicChunk: remove special case for num_frames==0
Simply return an empty WritableBuffer, not a nulled one.
|
2014-08-31 08:26:03 +02:00 |
Max Kellermann
|
2ca979425f
|
MusicChunk: copy AudioFormat only when chunk is empty
|
2014-08-31 08:25:17 +02:00 |
Max Kellermann
|
8d822ebdb4
|
PlaylistMapper: pass the Storage::MapUTF() result to playlist_open_remote()
Finally allows loading playlist files on a storage plugin. Commit
297e2747 attempted to implement this, but failed due to this bug.
|
2014-08-30 01:02:24 +02:00 |
Max Kellermann
|
bc5b5afcbf
|
decoder/sndfile: refactor frame_to_time()
|
2014-08-30 00:53:14 +02:00 |
Max Kellermann
|
b373c53ce4
|
*: add missing Compiler.h includes
Necessary for "final" on gcc 4.6.
|
2014-08-30 00:46:52 +02:00 |
Max Kellermann
|
bc4b89c21a
|
Chrono: workaround for gcc 4.6 constexpr problems
|
2014-08-30 00:41:56 +02:00 |
Max Kellermann
|
e10c287c93
|
PlayerControl: make settings "const"
|
2014-08-30 00:28:02 +02:00 |
Max Kellermann
|
ce42d53a09
|
PlayerControl: update include guard
|
2014-08-30 00:27:01 +02:00 |
Max Kellermann
|
a4f9d6d98b
|
output/alsa: fix signed/unsigned comparison warning
|
2014-08-30 00:27:01 +02:00 |
Max Kellermann
|
eebd03701a
|
db/simple: fix build failure without zlib
|
2014-08-30 00:25:12 +02:00 |
Max Kellermann
|
d5287682d1
|
ArgParser: allow fractional seconds in ParseCommandArg(SongTime)
|
2014-08-29 23:46:38 +02:00 |
Max Kellermann
|
7c567e3cbd
|
CrossFade: pass total_time as SignedSongTime instance
|
2014-08-29 23:41:34 +02:00 |
Max Kellermann
|
58352ea69d
|
db/Stats: use std::chrono::duration for the total duration
Use milliseconds precision to reduce rounding errors.
|
2014-08-29 23:25:03 +02:00 |
Max Kellermann
|
de64b35359
|
db/upnp: use DatabaseStats::Clear()
|
2014-08-29 23:24:49 +02:00 |
Max Kellermann
|
7df8e1eab2
|
db/Count: use std::chrono::duration for the total time
Use milliseconds precision to reduce rounding errors.
|
2014-08-29 23:18:40 +02:00 |
Max Kellermann
|
8b62127770
|
decoder/gme: fix song duration
The unit of gme_info_t::length is milliseconds, not centiseconds.
|
2014-08-29 23:03:29 +02:00 |
Max Kellermann
|
3158955198
|
TagHandler: pass SongTime to duration()
|
2014-08-29 22:52:04 +02:00 |
Max Kellermann
|
d9d97bd17b
|
DecoderAPI: pass SignedSongTime to decoder_initialized()
|
2014-08-29 21:40:15 +02:00 |
Max Kellermann
|
94f6380d69
|
Chrono: add methods FromScale()
|
2014-08-29 21:38:08 +02:00 |
Max Kellermann
|
2ee821656f
|
Chrono: rename ToScale() parameter
|
2014-08-29 21:38:08 +02:00 |
Max Kellermann
|
7556abb92d
|
decoder/faad: bit_rate==0 is an error
|
2014-08-29 21:38:08 +02:00 |
Max Kellermann
|
9d3a85d434
|
MusicChunk: use SignedSongTime for the time stamp
|
2014-08-29 13:20:58 +02:00 |
Max Kellermann
|
147d301f10
|
MultipleOutputs: use SignedSongTime for elapsed_time
|
2014-08-29 13:20:58 +02:00 |
Max Kellermann
|
75a89c5983
|
PlayerThread: use SongTime for elapsed_time
|
2014-08-29 13:20:58 +02:00 |
Max Kellermann
|
2289968634
|
PlayerControl: use SignedSongTime for the song duration
|
2014-08-29 13:20:58 +02:00 |
Max Kellermann
|
ca252804c6
|
DecoderControl: use SignedSongTime for the song duration
|
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
|
8ce30c6a69
|
Chrono: convert SongTime to SignedSongTime implicitly
|
2014-08-29 13:20:58 +02:00 |
Max Kellermann
|
9fcaff749f
|
Chrono: add SignedSongTime::FromS(unsigned)
|
2014-08-29 12:50:41 +02:00 |
Max Kellermann
|
3ac1475262
|
Chrono: add methods ToS(), RoundS()
|
2014-08-29 12:23:09 +02:00 |
Max Kellermann
|
ad64bab5b2
|
Chrono: add method SignedSongTime::Negative()
|
2014-08-29 12:18:13 +02:00 |
Max Kellermann
|
f02998b106
|
DecoderControl: use std::chrono::duration for start_ms and end_ms
|
2014-08-28 13:08:44 +02:00 |
Max Kellermann
|
127fe6ecf0
|
PlaylistEdit: pass std::chrono::duration to SetSongIdRange()
|
2014-08-28 13:03:18 +02:00 |
Max Kellermann
|
888ab0c89c
|
db/simple/Song: use std::chrono::duration for start_ms and end_ms
|
2014-08-28 13:03:18 +02:00 |
Max Kellermann
|
2efd8ef52d
|
db/LightSong: use std::chrono::duration for start_ms and end_ms
|
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
|
854258f376
|
Chrono: override operator+ and operator-
Make sure we return the correct type. This obsoletes the cast
constructor trick.
|
2014-08-28 13:03:18 +02:00 |
Max Kellermann
|
26f2d7fbae
|
DecoderControl: update API documentation
|
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
|
c2001a7259
|
Chrono: add class SignedSongTime
|
2014-08-28 06:42:04 +02:00 |
Max Kellermann
|
78f911ac19
|
Chrono: add methods IsZero(), IsPositive()
|
2014-08-28 06:42:04 +02:00 |
Max Kellermann
|
0f2a7226fb
|
PlayerControl: use std::chrono::duration for Seek()
|
2014-08-27 19:07:16 +02:00 |
Max Kellermann
|
f8d0ebe92f
|
PlayerThread: check if total_time is valid before using it
|
2014-08-27 19:06:50 +02:00 |
Max Kellermann
|
ba6ba7d4be
|
DecoderControl: use std::chrono::duration for Seek()
|
2014-08-27 18:48:43 +02:00 |
Max Kellermann
|
58e6f660f3
|
Chrono: add implicit conversion operator from std::chrono::duration
|
2014-08-27 18:47:14 +02:00 |
Max Kellermann
|
cd482ca655
|
Chrono: add method ToDoubleS()
|
2014-08-27 18:41:33 +02:00 |