Max Kellermann
645cb5833d
test/run_decoder: print the song duration
2013-10-24 21:35:05 +02:00
Max Kellermann
dc328e0c4a
decoder/opus: move code to OggSeekPageAtOffset()
2013-10-24 20:40:23 +02:00
Max Kellermann
92c85bd20d
decoder/opus: move SeekFindEOS() to OggFind.cxx
2013-10-24 20:33:12 +02:00
Max Kellermann
f629eb8cb2
decoder/opus: make opus_sample_rate constexpr
2013-10-24 20:14:47 +02:00
Max Kellermann
e4f41ff61d
decoder/opus: use std::copy_n() instead of memcpy()
2013-10-24 20:06:50 +02:00
Max Kellermann
dae6ecb680
decoder/opus: support all core tag names
2013-10-24 20:01:14 +02:00
Max Kellermann
a57a7b1a76
decoder/opus: move code to ParseOpusTagName()
2013-10-24 20:01:14 +02:00
Max Kellermann
03073b366b
decoder/opus: use delete[] for the OpusReader::ReadString() result
2013-10-24 20:01:14 +02:00
Max Kellermann
1bd8a9e744
DecoderAPI: add "pure" attributes
2013-10-24 20:01:05 +02:00
Max Kellermann
0a5c991ab5
decoder/wavpack: move variable declarations
2013-10-23 23:20:55 +02:00
Max Kellermann
93deb84499
input_stream: rename struct to InputStream
2013-10-23 23:12:02 +02:00
Max Kellermann
c4d4011c63
InputInternal: remove obsolete library
2013-10-23 23:10:27 +02:00
Max Kellermann
3d12f8d246
UriUtil: uri_remove_auth() returns std::string
2013-10-23 21:58:44 +02:00
Max Kellermann
c3e720279c
test/test_util: unit test for libutil.a
2013-10-23 21:58:44 +02:00
Max Kellermann
f1027ed198
InputStream: add method Rewind()
2013-10-23 21:58:44 +02:00
Max Kellermann
fe3c5e4e8e
DecoderThread: remove unused function deconst_plugin()
2013-10-23 21:57:28 +02:00
Max Kellermann
d110131ad6
Playlist: refresh new tags after database update
...
Fixes regression from commit e96779d
.
2013-10-22 01:05:29 +02:00
Max Kellermann
10bc1a9acc
decoder/flac: fix tag name comparison
2013-10-22 01:05:09 +02:00
Max Kellermann
3f899f83ff
Playlist*, Queue: use GetDatabase() overload without Error
...
Don't use IgnoreError() when there's an overload that does not try to
give us one.
2013-10-22 00:59:56 +02:00
Max Kellermann
fc05768374
Queue: add method ModifyAtPosition()
2013-10-22 00:59:56 +02:00
Max Kellermann
03b57df630
Queue: ModifyAtOrder() does not increment version
...
Leave that to the caller, allowing it to modify multiple items at a
time.
2013-10-22 00:59:56 +02:00
Max Kellermann
4de3b6dc80
Partition: add method DatabaseModified()
2013-10-22 00:59:55 +02:00
Max Kellermann
c7bbfef19a
UpdateRemove: include cleanup
2013-10-22 00:59:55 +02:00
Max Kellermann
7f1130b52b
DecoderList: fix the decoder_plugin_from_mime_type() return value
2013-10-22 00:59:55 +02:00
Max Kellermann
2d696f46c3
PlaylistEdit: compare Song URIs in DeleteSong()
...
Fixes purging deleted songs from the queue after update. Fixes
regression from commit e96779d
.
2013-10-22 00:13:39 +02:00
Max Kellermann
2f43e4bc66
Playlist: copy stream tags from the PlayerThread
...
Finally restores an important feature that has been broken for several
months when the PlayerThread started working with Song copies instead
of pointers to the Queue's Song instances (commit e96779d
).
2013-10-22 00:02:21 +02:00
Max Kellermann
f8c23488c9
Song: add method ReplaceTag()
2013-10-21 23:53:30 +02:00
Max Kellermann
1e2cda9239
Partition: add methods TagModified(), SyncWithPlayer()
...
Move code from class Instance.
2013-10-21 23:40:52 +02:00
Max Kellermann
20cba9e89f
Song: pass reference to song_equals()
2013-10-21 23:19:15 +02:00
Max Kellermann
f6d67ac260
DecoderThread: simplify the decoder lookup loop
...
Merge the two loops into one, and eliminate the GSList.
2013-10-21 22:15:57 +02:00
Max Kellermann
74904b9cf2
DecoderList: reimplement _for_each() with function object
2013-10-21 22:02:19 +02:00
Max Kellermann
82059645f1
decoder: rename the struct to "Decoder"
2013-10-21 21:12:37 +02:00
Max Kellermann
13e9f18403
DecoderPlugin: move functions into the struct
2013-10-21 21:08:12 +02:00
Max Kellermann
875821f2ba
SongUpdate: use tag_file_scan()
...
Eliminate duplicate code.
2013-10-21 21:05:59 +02:00
Max Kellermann
cc3be3aeed
TagFile: use IgnoreError()
2013-10-21 20:52:59 +02:00
Max Kellermann
72af3c0489
decoder_plugin: rename struct to DecoderPlugin
2013-10-21 20:31:34 +02:00
Max Kellermann
65e54f6ed1
decoder/modplug: use WritableBuffer instead of GByteArray
...
Eliminate the temporary buffer, do I/O right into the WritableBuffer.
2013-10-21 20:22:53 +02:00
Max Kellermann
10196496f3
decoder/modplug: move code to LoadModPlugFile()
2013-10-21 20:19:27 +02:00
Max Kellermann
86f08862e4
playlist/EmbeddedCue: use std::string for the "cuesheet" attribute
2013-10-21 10:53:31 +02:00
Max Kellermann
83c726a34f
GetBaseUTF8
2013-10-21 10:50:22 +02:00
Max Kellermann
a0415f73d4
archive/bz2: remove unused function bz2_quark()
2013-10-21 10:50:22 +02:00
Max Kellermann
93068f10ec
fs/AllocatedPath: don't include glib.h
2013-10-21 10:27:14 +02:00
Max Kellermann
7142c81c05
DirectorySave: use Directory::GetName()
2013-10-21 10:04:59 +02:00
Max Kellermann
c0421a57da
input/curl: don't use GLib's typedef "gushort"
2013-10-21 09:54:21 +02:00
Max Kellermann
8f1ec1dfdf
util/NumberParser: utilities for parsing numbers from ASCII strings
2013-10-21 09:48:31 +02:00
Max Kellermann
222dc8a239
Util/ASCII: add StringEqualsCaseASCII() overload with length
...
Replaces GLib's g_ascii_strncasecmp().
2013-10-21 08:42:55 +02:00
Max Kellermann
0e4d2e7277
Util/ASCII: add function StringEqualsCaseASCII()
...
Replaces GLib's g_ascii_strcasecmp().
2013-10-20 23:09:51 +02:00
Max Kellermann
2bbff77e48
OutputControl: convert anonymous enum to constexpr
2013-10-20 13:53:01 +02:00
Max Kellermann
3315c67f0f
Inotify: convert anonymous enum to constexpr
2013-10-20 13:51:55 +02:00
Max Kellermann
b879bcb1eb
UpdateWalk: convert anonymous enum to constexpr
2013-10-20 13:50:34 +02:00