Commit Graph

7832 Commits

Author SHA1 Message Date
Max Kellermann c8b2591ac2 configure.ac: move -Werror before all other CFLAGS
Without -Werror, clang will not fail on -ftree-vectorize.
2013-10-30 19:17:07 +01:00
Max Kellermann ee1d8e1091 configure.ac: default to enable_openal=auto 2013-10-30 19:02:59 +01:00
Max Kellermann 672fc8d79b configure.ac: enable -ffast-math and -ftree-vectorize
Allows advanced compiler optimization.
2013-10-30 18:30:04 +01:00
Max Kellermann 84ff1a680a configure.ac: enable some gcc options even in debug mode
Most importantly: always disable C++ exceptions.  It was surprising to
see MPD terminate due to an unexpected exception.
2013-10-30 18:22:35 +01:00
Max Kellermann 90c899407a ReplayGainInfo: use large negative value instead of infinity
The last piece to allow -ffast-math.
2013-10-30 18:01:45 +01:00
Max Kellermann 55868eecd0 PlayerCommands: show CrossFade/MixRamp only if enabled 2013-10-30 17:49:47 +01:00
Max Kellermann 50dc98367c PcmMix: use negative value instead of NaN for addition
Avoid NaN to allow -ffast-math.
2013-10-30 17:23:49 +01:00
Max Kellermann c4d3030d24 CrossFade: eliminate NaN from mixramp_interpolate()
Use a boolean flag instead.
2013-10-30 17:20:34 +01:00
Max Kellermann c6f101884b CrossFade: use negative value for invalid MixRamp overlap
Avoid NaN to allow -ffast-math.
2013-10-30 17:20:12 +01:00
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