aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-30CrossFade: use negative value for invalid mixramp_delayMax Kellermann3-6/+5
Avoid NaN to allow -ffast-math.
2013-10-30CrossFade: remove obsolete API documentationMax Kellermann1-3/+0
2013-10-30Main: check the g_get_user_special_dir() resultMax Kellermann1-4/+7
Fixes crash.
2013-10-30db/proxy: return server errors using "enum ack"Max Kellermann1-2/+13
2013-10-30db/proxy: pass search/find to remote MPDMax Kellermann2-1/+54
2013-10-30db/proxy: pass SongFilter to the remote MPD in VisitUniqueTags()Max Kellermann1-2/+72
2013-10-30db/proxy: add missing nullptr checkMax Kellermann1-1/+2
2013-10-29SongFilter: add special keyword "base"Max Kellermann4-3/+50
Restores the features from the previous draft commands "findin" / "searchin".
2013-10-29Revert "command: new commands "findin", "searchin" with base URI"Max Kellermann3-25/+4
This reverts commit a577944ab5a1f4d688e5901fa3efaf7cd1673588. Will be replaced by new options for the old commands "search" and "find".
2013-10-29util/UriUtil: add uri_is_child_or_same()Max Kellermann2-0/+31
2013-10-29db/proxy: enable song matchingJean-Francois Dockes1-9/+23
2013-10-29SongFilter: make SongFilter::Item class definition publicJean-Francois Dockes1-0/+10
2013-10-29SongFilter: "any" does not match file nameMax Kellermann1-5/+2
According to the protocol documentation, matching the file name was wrong. This removes some awkward special-case code.
2013-10-29DatabaseSelection: use std::stringMax Kellermann3-8/+6
2013-10-29SongFilter: use std::stringMax Kellermann2-21/+26
2013-10-29fd_util: avoid unnecessary fcntl() callsMax Kellermann1-6/+8
2013-10-29PlayerControl: move attributes to struct CrossFadeSettingsMax Kellermann5-63/+73
2013-10-29FilterRegistry: add "pure" attributeMax Kellermann1-0/+3
2013-10-28*: use nullptr instead of NULLMax Kellermann47-249/+250
2013-10-28decoder/dsf: don't play junk at the end of the "data" chunkMax Kellermann1-1/+9
2013-10-28decoder/dsf: add range checkMax Kellermann1-0/+3
2013-10-28decoder/dsdlib: add class DsdUint64Max Kellermann3-25/+26
Merge lots of duplicate code.
2013-10-28decoder/dsdlib: include cleanupMax Kellermann1-1/+1
2013-10-28decoder/dsdlib: move API documentation to headerMax Kellermann2-5/+4
2013-10-28decoder/dsdlib: convert struct dsdlib_id to a classMax Kellermann4-34/+35
2013-10-28PcmFormat: move definitions to struct SampleTraitsMax Kellermann1-36/+81
2013-10-28MusicChunk: return WritableBufferMax Kellermann3-16/+15
2013-10-28MusicChunk: use uint8_t instead of charMax Kellermann1-1/+1
2013-10-28DecoderControl: convert mutex and client_cond to a referenceMax Kellermann3-24/+29
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-28player_control: rename to PlayerControlMax Kellermann21-134/+134
2013-10-28decoder_control: rename to DecoderControlMax Kellermann8-47/+47
2013-10-26output/httpd: accept icy-metadata with and without spaceOddegamra1-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.
2013-10-26command: new commands "findin", "searchin" with base URIMax Kellermann3-4/+25
2013-10-26FileCommands: "readcomments" understands APE and ID3v2 tagsMax Kellermann1-0/+5
Implements Mantis ticket 3843.
2013-10-26FileCommands: fix wrong control character check in IsValidValue()Max Kellermann1-1/+1
Check was the wrong way around, and made all valid values invisible.
2013-10-26ApeTag: support multiple values per nameMax Kellermann1-2/+7
2013-10-26ApeTag: move code to ForEachValue()Max Kellermann1-16/+30
2013-10-26ApeTag: simplify the "recognized" flagMax Kellermann1-4/+1
2013-10-26TagFile: use Path instead of const char *Max Kellermann14-29/+47
2013-10-26PlayerControl: initialize tagged_song in constructorMax Kellermann1-0/+1
2013-10-26DecoderControl: move code/attributes to new class MixRampInfoMax Kellermann9-83/+120
2013-10-26DecoderThread: move code to DecoderControl::CycleMixRamp()Max Kellermann3-6/+12
2013-10-26DecoderControl: add MixRamp gettersMax Kellermann2-2/+14
2013-10-26CrossFade: reimplement mixramp_interpolate() without strtok()Max Kellermann2-26/+19
Don't require a writable string, and don't modify it.
2013-10-26CrossFade: apply coding styleMax Kellermann2-13/+15
2013-10-26CrossFade: merge "return" statements using "break"Max Kellermann1-2/+4
2013-10-26CrossFade: use nullptr instead of NULLMax Kellermann1-7/+7
2013-10-26util/NumberParser: add ParseFloat()Max Kellermann1-0/+6
2013-10-26util/NumberParser: indentMax Kellermann1-10/+10
2013-10-25command: new command "readcomments" lists arbitrary file tagsMax Kellermann3-0/+154