aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* pcm/Volume: improved ditheringMax Kellermann2013-12-284-20/+54
| | | | | Instead of just adding a rectangular random value before shifting back to the normal scale, use the existing PcmDither library.
* pcm/PcmDither: inline Dither24To16() and Dither32To16()Max Kellermann2013-12-282-3/+4
|
* pcm/Volume: remove optimized i386 assemblyMax Kellermann2013-12-281-50/+0
| | | | | This code is unable to dither. Until we implement that, let's remove the code for now. i386 isn't relevant anymore anyway.
* pcm/Traits: use 32 bit integer for S8 long_typeMax Kellermann2013-12-251-1/+1
| | | | 16 bit is not enough for volume calculations.
* pcm/Dither: add API documentationMax Kellermann2013-12-241-0/+18
|
* pcm/Dither: move shift from DitherConvert() to Dither()Max Kellermann2013-12-241-2/+2
| | | | All callers need this shift, so let's move it to the basic method.
* pcm/Dither: rename DitherShift() to DitherConvert()Max Kellermann2013-12-242-11/+11
|
* Merge tag 'release-0.18.6'Max Kellermann2013-12-245-7/+15
|\
| * PlayerThread: log the last song that was playedMax Kellermann2013-12-241-1/+4
| |
| * OutputControl: update both ReplayGainFiltersMax Kellermann2013-12-241-0/+2
| | | | | | | | | | The "mode" of the second ReplayGainFilter was never set, and thus replay gain was never applied to the new song during cross-fade.
| * fix FfmpegDecoderPlugin to use relative timestampsSteven O'Brien2013-12-201-4/+6
| |
| * util/Error: add missing <algorithm> includeMax Kellermann2013-12-191-0/+1
| | | | | | | | For std::move().
| * riff: recognize upper-case "ID3" chunk nameMichal Smucr2013-12-191-1/+2
| | | | | | | | Some tagging libraries (eg. TagLib) produce that variant.
| * input/cdio: fix typo in #include pathMax Kellermann2013-12-171-1/+1
| | | | | | | | Broken by commit 3b0fea5f
* | OutputThread: handle failing ReplayGainFilter::Open()Max Kellermann2013-12-241-4/+10
| | | | | | | | | | Since opening the PcmVolume object can now fail, this case must be handled.
* | pcm/Volume: convert to classMax Kellermann2013-12-234-132/+156
| | | | | | | | Prepare for adding state.
* | pcm/Volume: apply volume into destination bufferMax Kellermann2013-12-231-21/+37
| |
* | pcm/Volume: convert i386 code to template specializationMax Kellermann2013-12-231-42/+42
| |
* | pcm/Volume: move code to template pcm_volume_sample()Max Kellermann2013-12-231-7/+16
| |
* | pcm/PcmVolume: rename to Volume.cxxMax Kellermann2013-12-237-6/+6
| |
* | pcm/PcmConvert: move the Domain instance to Domain.cxxMax Kellermann2013-12-236-9/+56
| | | | | | | | | | Rename pcm_convert_domain to pcm_domain. Move it out so we can use it without depending on the whole PcmConvert library.
* | ConfigData: initialise "used" in second constructorMax Kellermann2013-12-231-1/+1
| |
* | pcm/Dither: convert remaining methods to templatesMax Kellermann2013-12-222-26/+39
| | | | | | | | | | Use the SampleTraits template and let the compiler generate a special case for S32 instead of reusing S24_P32.
* | pcm/Dither: generic sample dithering using templateMax Kellermann2013-12-222-13/+25
| |
* | pcm/Traits: include stddef.h for size_tMax Kellermann2013-12-221-0/+1
| |
* | pcm/Traits: add MIN and MAXMax Kellermann2013-12-222-9/+28
| | | | | | | | Move from PcmClamp().
* | pcm/Volume: add constant PCM_VOLUME_BITSMax Kellermann2013-12-222-1/+6
| |
* | pcm/Volume: make PCM_VOLUME_1 a "constexpr"Max Kellermann2013-12-223-13/+13
| |
* | pcm/Prng: make pcm_prng() inlineMax Kellermann2013-12-221-1/+1
| |
* | util/Clamp: generic Clamp() functionMax Kellermann2013-12-223-3/+53
| |
* | event/PollGroupPoll: include stddef.h instead of string.hMax Kellermann2013-12-211-1/+2
| |
* | input/alsa: fix build with gcc 4.6Max Kellermann2013-12-211-12/+12
| |
* | add draft ALSA input pluginSteven O'Brien2013-12-194-0/+244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've created an elementary input plugin that plays sound from the soundcard, so you can use MPD to listen to anything connected to the line-in jack, or to Video4Linux FM radio cards that send audio through the soundcard. There has been a small number of posts here in the past requesting line-in input, so here is a first, simplistic stab at it. The patch adds a new sheme, alsa://, which causes mpd to play data read directly from a souncdard. It defaults to hw:0,0, but you can pass any ALSA device name in the URI. So, using mpc for example: mpc add alsa:// mpc play will play from device hw:0,0. To use a diffferent device: mpc add alsa://hw:1,0
* | output/osx: fix typoMax Kellermann2013-12-191-1/+1
| |
* | util/fifo_buffer: remove obsolete libraryMax Kellermann2013-12-193-383/+0
| |
* | output/osx: use DynamicFifoBuffer instead of struct fifo_bufferMax Kellermann2013-12-191-26/+21
| |
* | util/PeakBuffer: use IsEmpty() instead of IsNull()Max Kellermann2013-12-192-4/+4
| | | | | | | | | | | | The DynamicFifoBuffer methods never return nullptr when the buffer is empty or full; instead, they return an empty buffer. This bug caused an endless loop.
* | util/{Domain,Error}: relicense to BSD 2-clauseMax Kellermann2013-12-163-43/+73
| |
* | util/PeakBuffer: use DynamicFifoBuffer instead of struct fifo_bufferMax Kellermann2013-12-153-48/+36
| | | | | | | | Switch to the C++ version.
* | util/PeakBuffer: return ConstBuffer<void>Max Kellermann2013-12-153-11/+16
| |
* | util/WritableBuffer: add cast methodsMax Kellermann2013-12-151-1/+30
| |
* | util/WritableBuffer: fix indentMax Kellermann2013-12-151-31/+31
| |
* | util/DynamicFifoBuffer: make constructor "explicit"Max Kellermann2013-12-151-1/+1
| |
* | Merge branch 'v0.18.x'Max Kellermann2013-12-151-1/+13
|\|
| * mixer/alsa: fix deadlockMax Kellermann2013-12-151-1/+13
| | | | | | | | | | | | This deadlock was a regression by commit 8e38b4f8. Since we currently can't resolve this, let's revert the commit, and add a GLib specific workaround for the build failure.
* | configure.ac: add option "--disable-glib"Max Kellermann2013-12-156-3/+35
| | | | | | | | | | Allows building without GLib. This fails to compile currently, because GLib is still used in the MPD core.
* | Daemon: use strdup() instead of g_strdup()Max Kellermann2013-12-151-5/+3
| |
* | util/Tokenizer, ...: include cleanupMax Kellermann2013-12-156-12/+0
| |
* | system/SocketError, ...: use strerror() instead of g_strerror()Max Kellermann2013-12-154-9/+14
| | | | | | | | Avoid GLib.
* | LogInit: move backend code to LogBackend.cxxMax Kellermann2013-12-153-175/+206
| |