Commit Graph

7673 Commits

Author SHA1 Message Date
Max Kellermann c0c0526fc8 test/test_mixramp: improved test for mixramp_interpolate(0) 2013-10-30 17:18:54 +01:00
Max Kellermann 375c88b110 test/test_mixramp: add test with "invalid" return value 2013-10-30 17:14:40 +01:00
Max Kellermann a65f63747b CrossFade: use negative value for invalid mixramp_delay
Avoid NaN to allow -ffast-math.
2013-10-30 16:50:34 +01:00
Max Kellermann a21edddf27 CrossFade: remove obsolete API documentation 2013-10-30 16:45:02 +01:00
Max Kellermann a88c23b6e8 Main: check the g_get_user_special_dir() result
Fixes crash.
2013-10-30 16:14:44 +01:00
Max Kellermann 216e37bf33 Makefile.am: link test/DumpDatabase with Ack.cxx 2013-10-30 16:14:44 +01:00
Max Kellermann 7bb3987acc db/proxy: return server errors using "enum ack" 2013-10-30 16:04:21 +01:00
Max Kellermann 6a147a17af db/proxy: pass search/find to remote MPD 2013-10-30 10:00:57 +01:00
Max Kellermann 2b7529e905 db/proxy: pass SongFilter to the remote MPD in VisitUniqueTags() 2013-10-30 09:40:23 +01:00
Max Kellermann 1ed321f964 db/proxy: add missing nullptr check 2013-10-30 09:37:20 +01:00
Max Kellermann 2aee1b86f3 SongFilter: add special keyword "base"
Restores the features from the previous draft commands "findin" /
"searchin".
2013-10-29 21:13:40 +01:00
Max Kellermann b5fc21b9f4 Revert "command: new commands "findin", "searchin" with base URI"
This reverts commit a577944ab5.

Will be replaced by new options for the old commands "search" and
"find".
2013-10-29 21:13:40 +01:00
Max Kellermann 44581dbef5 util/UriUtil: add uri_is_child_or_same() 2013-10-29 21:13:40 +01:00
Jean-Francois Dockes 205448c1e8 db/proxy: enable song matching 2013-10-29 20:58:35 +01:00
Jean-Francois Dockes 2d11c6ab29 SongFilter: make SongFilter::Item class definition public 2013-10-29 20:47:52 +01:00
Max Kellermann 6859c22b69 SongFilter: "any" does not match file name
According to the protocol documentation, matching the file name was
wrong.  This removes some awkward special-case code.
2013-10-29 20:40:55 +01:00
Max Kellermann 2d5413fc3b DatabaseSelection: use std::string 2013-10-29 20:36:52 +01:00
Max Kellermann a6aa0e4cbf SongFilter: use std::string 2013-10-29 19:39:17 +01:00
Max Kellermann 163848ab3b fd_util: avoid unnecessary fcntl() calls 2013-10-29 13:02:53 +01:00
Max Kellermann 03747ba93e PlayerControl: move attributes to struct CrossFadeSettings 2013-10-29 00:14:27 +01:00
Max Kellermann 095c390df7 FilterRegistry: add "pure" attribute 2013-10-29 00:05:04 +01:00
Max Kellermann 20597b3632 *: use nullptr instead of NULL 2013-10-28 23:58:17 +01:00
Max Kellermann 4728735acf decoder/dsf: don't play junk at the end of the "data" chunk 2013-10-28 23:47:25 +01:00
Max Kellermann 9dcbd005f0 decoder/dsf: add range check 2013-10-28 23:41:51 +01:00
Max Kellermann 0ad2eb34c7 decoder/dsdlib: add class DsdUint64
Merge lots of duplicate code.
2013-10-28 23:29:23 +01:00
Max Kellermann 0e8a15e813 decoder/dsdlib: include cleanup 2013-10-28 23:26:37 +01:00
Max Kellermann 5b0d6a59cf decoder/dsdlib: move API documentation to header 2013-10-28 23:26:16 +01:00
Max Kellermann fd3dc7e5fb decoder/dsdlib: convert struct dsdlib_id to a class 2013-10-28 23:12:48 +01:00
Max Kellermann c37edfd3e9 configure.ac: disable the OS X output plugin by default
There hasn't been a maintainer for this plugin for years.  It may even
fail to build.
2013-10-28 22:25:58 +01:00
Max Kellermann 4a99b1df4b configure.ac: add variable host_is_darwin
Fixes the OpenAL detection which was broken because enable_osx was
uesd which was set later.
2013-10-28 22:18:56 +01:00
Max Kellermann 12e9b7eafa PcmFormat: move definitions to struct SampleTraits 2013-10-28 21:29:36 +01:00
Max Kellermann de1261ba28 MusicChunk: return WritableBuffer 2013-10-28 17:10:12 +01:00
Max Kellermann 5ee5a89a7f MusicChunk: use uint8_t instead of char 2013-10-28 17:08:14 +01:00
Max Kellermann 1ad2475f9e DecoderControl: convert mutex and client_cond to a reference
Share the Mutex between the DecoderThread and the PlayerThread.  This
simplifies synchronization between the two threads and fixes a freeze
problem: while the PlayerThread waits for the DeocderThread, it cannot
answer requests from the main thread, and the main thread will block
until the DecoderThread finishes.
2013-10-28 10:22:05 +01:00
Max Kellermann 5b5675cc12 player_control: rename to PlayerControl 2013-10-28 10:12:33 +01:00
Max Kellermann e699f6781e decoder_control: rename to DecoderControl 2013-10-28 10:09:21 +01:00
Oddegamra 5f13c1cd9c output/httpd: accept icy-metadata with and without space
Some, or most, Win32 audio players will pass "icy-metadata:1" to
streaming servers. MPD expects a space between ":" and "1" at this
point, and thus does not send any stream metadata. This applies to
foobar2k and Winamp, for example.

According to forums.radiotoolbox.com/viewtopic.php?t=74 not having
a space there is expected behavior, so maybe MPD could accept
both forms to determine if metadata should be sent or not.
2013-10-26 16:32:00 +02:00
Max Kellermann a577944ab5 command: new commands "findin", "searchin" with base URI 2013-10-26 16:13:35 +02:00
Max Kellermann 17ec3b0c2d FileCommands: "readcomments" understands APE and ID3v2 tags
Implements Mantis ticket 3843.
2013-10-26 16:04:29 +02:00
Max Kellermann fb75137540 FileCommands: fix wrong control character check in IsValidValue()
Check was the wrong way around, and made all valid values invisible.
2013-10-26 16:04:06 +02:00
Max Kellermann 6f87164ad6 ApeTag: support multiple values per name 2013-10-26 16:00:05 +02:00
Max Kellermann a4d82cfe1e ApeTag: move code to ForEachValue() 2013-10-26 15:57:09 +02:00
Max Kellermann 9f21eee2ec ApeTag: simplify the "recognized" flag 2013-10-26 15:52:49 +02:00
Max Kellermann a40246d312 TagFile: use Path instead of const char * 2013-10-26 15:38:29 +02:00
Max Kellermann 4a5aad0948 PlayerControl: initialize tagged_song in constructor 2013-10-26 15:37:49 +02:00
Max Kellermann 85ae7e9c9a DecoderControl: move code/attributes to new class MixRampInfo 2013-10-26 14:19:34 +02:00
Max Kellermann 2098b94b47 DecoderThread: move code to DecoderControl::CycleMixRamp() 2013-10-26 14:12:10 +02:00
Max Kellermann 59ad6265a1 DecoderControl: add MixRamp getters 2013-10-26 14:08:09 +02:00
Max Kellermann 067572c6dd CrossFade: reimplement mixramp_interpolate() without strtok()
Don't require a writable string, and don't modify it.
2013-10-26 13:53:32 +02:00
Max Kellermann 7f03f68fcc CrossFade: apply coding style 2013-10-26 13:53:08 +02:00