aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* DecoderControl: convert mutex and client_cond to a referenceMax Kellermann2013-10-283-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.
* player_control: rename to PlayerControlMax Kellermann2013-10-2821-134/+134
|
* 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-263-4/+25
|
* 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-2614-29/+47
|
* PlayerControl: initialize tagged_song in constructorMax Kellermann2013-10-261-0/+1
|
* DecoderControl: move code/attributes to new class MixRampInfoMax Kellermann2013-10-269-83/+120
|
* 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
|
* 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
|
* command: new command "readcomments" lists arbitrary file tagsMax Kellermann2013-10-253-0/+154
|
* ReplayGainInfo: refactor to a classMax Kellermann2013-10-2510-60/+57
|
* ReplayGainInfo: use CamelCase for struct nameMax Kellermann2013-10-2531-122/+115
|
* ReplayGainConfig: add "pure" attributesMax Kellermann2013-10-251-0/+3
|
* output/httpd: support HEAD requestsMax Kellermann2013-10-252-5/+29
|
* output/httpd: remove bogus assertionMax Kellermann2013-10-251-1/+0
|
* OtherCommands: re-add the "volume" commandMax Kellermann2013-10-253-0/+37
| | | | | | This command was removed by commit 206392ad (MPD 0.16), even though it was been proven useful for some very simple clients. On request, I add it to the protocol again.
* MixerAll, Volume: add "pure" attributesMax Kellermann2013-10-252-0/+8
|
* decoder/opus: support replay gainMax Kellermann2013-10-243-1/+24
| | | | Parse the R128_TRACK_GAIN comment string.
* decoder/Opus: implement seekingMax Kellermann2013-10-243-6/+49
|
* decoder/opus: provide time stampsMax Kellermann2013-10-241-0/+5
| | | | | Call decoder_timestamp(). This is not necessary currently, but will be as soon as we implement seeking.
* decoder/opus: show song duration during playbackMax Kellermann2013-10-241-1/+57
| | | | | | This requires seeking to the end-of-stream, checking its granulepos, and then seeking back to the previous file position. We do this only for local files.
* decoder/opus: call ogg_stream_reset() in OggSeekPageAtOffset()Max Kellermann2013-10-241-0/+4
|
* decoder/opus: move code to OggSeekPageAtOffset()Max Kellermann2013-10-241-4/+11
|
* decoder/opus: move SeekFindEOS() to OggFind.cxxMax Kellermann2013-10-243-19/+31
|
* decoder/opus: make opus_sample_rate constexprMax Kellermann2013-10-241-1/+1
|
* decoder/opus: use std::copy_n() instead of memcpy()Max Kellermann2013-10-241-2/+3
|
* decoder/opus: support all core tag namesMax Kellermann2013-10-241-0/+5
|
* decoder/opus: move code to ParseOpusTagName()Max Kellermann2013-10-241-1/+8
|
* decoder/opus: use delete[] for the OpusReader::ReadString() resultMax Kellermann2013-10-241-1/+1
|
* DecoderAPI: add "pure" attributesMax Kellermann2013-10-241-0/+2
|
* decoder/wavpack: move variable declarationsMax Kellermann2013-10-231-53/+34
|
* input_stream: rename struct to InputStreamMax Kellermann2013-10-2372-483/+494
|
* InputInternal: remove obsolete libraryMax Kellermann2013-10-2312-83/+0
|
* UriUtil: uri_remove_auth() returns std::stringMax Kellermann2013-10-234-31/+19
|
* InputStream: add method Rewind()Max Kellermann2013-10-239-28/+31
|
* DecoderThread: remove unused function deconst_plugin()Max Kellermann2013-10-231-9/+0
|
* Playlist: refresh new tags after database updateMax Kellermann2013-10-226-23/+85
| | | | Fixes regression from commit e96779d.
* decoder/flac: fix tag name comparisonMax Kellermann2013-10-221-1/+1
|