aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* SongFilter: add special keyword "base"Max Kellermann2013-10-296-5/+57
| | | | | Restores the features from the previous draft commands "findin" / "searchin".
* Revert "command: new commands "findin", "searchin" with base URI"Max Kellermann2013-10-295-60/+4
| | | | | | | This reverts commit a577944ab5a1f4d688e5901fa3efaf7cd1673588. Will be replaced by new options for the old commands "search" and "find".
* util/UriUtil: add uri_is_child_or_same()Max Kellermann2013-10-292-0/+31
|
* db/proxy: enable song matchingJean-Francois Dockes2013-10-291-9/+23
|
* SongFilter: make SongFilter::Item class definition publicJean-Francois Dockes2013-10-291-0/+10
|
* SongFilter: "any" does not match file nameMax Kellermann2013-10-292-5/+3
| | | | | According to the protocol documentation, matching the file name was wrong. This removes some awkward special-case code.
* DatabaseSelection: use std::stringMax Kellermann2013-10-293-8/+6
|
* SongFilter: use std::stringMax Kellermann2013-10-292-21/+26
|
* fd_util: avoid unnecessary fcntl() callsMax Kellermann2013-10-291-6/+8
|
* PlayerControl: move attributes to struct CrossFadeSettingsMax Kellermann2013-10-295-63/+73
|
* FilterRegistry: add "pure" attributeMax Kellermann2013-10-291-0/+3
|
* *: use nullptr instead of NULLMax Kellermann2013-10-2847-249/+250
|
* decoder/dsf: don't play junk at the end of the "data" chunkMax Kellermann2013-10-282-1/+10
|
* decoder/dsf: add range checkMax Kellermann2013-10-281-0/+3
|
* decoder/dsdlib: add class DsdUint64Max Kellermann2013-10-283-25/+26
| | | | Merge lots of duplicate code.
* decoder/dsdlib: include cleanupMax Kellermann2013-10-281-1/+1
|
* decoder/dsdlib: move API documentation to headerMax Kellermann2013-10-282-5/+4
|
* decoder/dsdlib: convert struct dsdlib_id to a classMax Kellermann2013-10-284-34/+35
|
* configure.ac: disable the OS X output plugin by defaultMax Kellermann2013-10-283-4/+6
| | | | | There hasn't been a maintainer for this plugin for years. It may even fail to build.
* configure.ac: add variable host_is_darwinMax Kellermann2013-10-281-8/+12
| | | | | Fixes the OpenAL detection which was broken because enable_osx was uesd which was set later.
* PcmFormat: move definitions to struct SampleTraitsMax Kellermann2013-10-281-36/+81
|
* MusicChunk: return WritableBufferMax Kellermann2013-10-283-16/+15
|
* MusicChunk: use uint8_t instead of charMax Kellermann2013-10-281-1/+1
|
* DecoderControl: convert mutex and client_cond to a referenceMax Kellermann2013-10-284-24/+30
| | | | | | | | 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.
* player_control: rename to PlayerControlMax Kellermann2013-10-2822-137/+137
|
* decoder_control: rename to DecoderControlMax Kellermann2013-10-288-47/+47
|
* output/httpd: accept icy-metadata with and without spaceOddegamra2013-10-261-1/+2
| | | | | | | | | | | 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.
* command: new commands "findin", "searchin" with base URIMax Kellermann2013-10-265-4/+60
|
* FileCommands: "readcomments" understands APE and ID3v2 tagsMax Kellermann2013-10-261-0/+5
| | | | Implements Mantis ticket 3843.
* FileCommands: fix wrong control character check in IsValidValue()Max Kellermann2013-10-261-1/+1
| | | | Check was the wrong way around, and made all valid values invisible.
* ApeTag: support multiple values per nameMax Kellermann2013-10-261-2/+7
|
* ApeTag: move code to ForEachValue()Max Kellermann2013-10-261-16/+30
|
* ApeTag: simplify the "recognized" flagMax Kellermann2013-10-261-4/+1
|
* TagFile: use Path instead of const char *Max Kellermann2013-10-2616-32/+52
|
* PlayerControl: initialize tagged_song in constructorMax Kellermann2013-10-261-0/+1
|
* DecoderControl: move code/attributes to new class MixRampInfoMax Kellermann2013-10-2613-95/+124
|
* DecoderThread: move code to DecoderControl::CycleMixRamp()Max Kellermann2013-10-263-6/+12
|
* DecoderControl: add MixRamp gettersMax Kellermann2013-10-262-2/+14
|
* CrossFade: reimplement mixramp_interpolate() without strtok()Max Kellermann2013-10-262-26/+19
| | | | Don't require a writable string, and don't modify it.
* CrossFade: apply coding styleMax Kellermann2013-10-262-13/+15
|
* test/test_mixramp: unit test for mixramp_interpolate()Max Kellermann2013-10-263-0/+94
|
* CrossFade: merge "return" statements using "break"Max Kellermann2013-10-261-2/+4
|
* CrossFade: use nullptr instead of NULLMax Kellermann2013-10-261-7/+7
|
* util/NumberParser: add ParseFloat()Max Kellermann2013-10-261-0/+6
|
* util/NumberParser: indentMax Kellermann2013-10-261-10/+10
|
* INSTALL: mention clangMax Kellermann2013-10-261-0/+1
|
* INSTALL: mention minimum gcc versionMax Kellermann2013-10-261-1/+1
|
* command: new command "readcomments" lists arbitrary file tagsMax Kellermann2013-10-256-0/+182
|
* ReplayGainInfo: refactor to a classMax Kellermann2013-10-2513-67/+64
|
* ReplayGainInfo: use CamelCase for struct nameMax Kellermann2013-10-2535-135/+125
|