aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-12-28pcm/Volume: remove unused function pcm_volume_dither()Max Kellermann1-16/+0
2013-12-28pcm/PcmMix: improved ditheringMax Kellermann4-19/+38
Use the existing PcmDither library.
2013-12-28pcm/Volume: improved ditheringMax Kellermann4-20/+54
Instead of just adding a rectangular random value before shifting back to the normal scale, use the existing PcmDither library.
2013-12-28pcm/PcmDither: inline Dither24To16() and Dither32To16()Max Kellermann2-3/+4
2013-12-28pcm/Volume: remove optimized i386 assemblyMax Kellermann1-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.
2013-12-25pcm/Traits: use 32 bit integer for S8 long_typeMax Kellermann1-1/+1
16 bit is not enough for volume calculations.
2013-12-24pcm/Dither: add API documentationMax Kellermann1-0/+18
2013-12-24pcm/Dither: move shift from DitherConvert() to Dither()Max Kellermann1-2/+2
All callers need this shift, so let's move it to the basic method.
2013-12-24pcm/Dither: rename DitherShift() to DitherConvert()Max Kellermann2-11/+11
2013-12-24PlayerThread: log the last song that was playedMax Kellermann1-1/+4
2013-12-24OutputControl: update both ReplayGainFiltersMax Kellermann1-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.
2013-12-24OutputThread: handle failing ReplayGainFilter::Open()Max Kellermann1-4/+10
Since opening the PcmVolume object can now fail, this case must be handled.
2013-12-23pcm/Volume: convert to classMax Kellermann4-132/+156
Prepare for adding state.
2013-12-23pcm/Volume: apply volume into destination bufferMax Kellermann1-21/+37
2013-12-23pcm/Volume: convert i386 code to template specializationMax Kellermann1-42/+42
2013-12-23pcm/Volume: move code to template pcm_volume_sample()Max Kellermann1-7/+16
2013-12-23pcm/PcmVolume: rename to Volume.cxxMax Kellermann7-6/+6
2013-12-23pcm/PcmConvert: move the Domain instance to Domain.cxxMax Kellermann6-9/+56
Rename pcm_convert_domain to pcm_domain. Move it out so we can use it without depending on the whole PcmConvert library.
2013-12-23ConfigData: initialise "used" in second constructorMax Kellermann1-1/+1
2013-12-22pcm/Dither: convert remaining methods to templatesMax Kellermann2-26/+39
Use the SampleTraits template and let the compiler generate a special case for S32 instead of reusing S24_P32.
2013-12-22pcm/Dither: generic sample dithering using templateMax Kellermann2-13/+25
2013-12-22pcm/Traits: include stddef.h for size_tMax Kellermann1-0/+1
2013-12-22pcm/Traits: add MIN and MAXMax Kellermann2-9/+28
Move from PcmClamp().
2013-12-22pcm/Volume: add constant PCM_VOLUME_BITSMax Kellermann2-1/+6
2013-12-22pcm/Volume: make PCM_VOLUME_1 a "constexpr"Max Kellermann3-13/+13
2013-12-22pcm/Prng: make pcm_prng() inlineMax Kellermann1-1/+1
2013-12-22util/Clamp: generic Clamp() functionMax Kellermann3-3/+53
2013-12-21event/PollGroupPoll: include stddef.h instead of string.hMax Kellermann1-1/+2
2013-12-21input/alsa: fix build with gcc 4.6Max Kellermann1-12/+12
2013-12-20fix FfmpegDecoderPlugin to use relative timestampsSteven O'Brien1-4/+6
2013-12-19add draft ALSA input pluginSteven O'Brien4-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
2013-12-19output/osx: fix typoMax Kellermann1-1/+1
2013-12-19util/fifo_buffer: remove obsolete libraryMax Kellermann3-383/+0
2013-12-19output/osx: use DynamicFifoBuffer instead of struct fifo_bufferMax Kellermann1-26/+21
2013-12-19util/Error: add missing <algorithm> includeMax Kellermann1-0/+1
For std::move().
2013-12-19util/PeakBuffer: use IsEmpty() instead of IsNull()Max Kellermann2-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.
2013-12-19riff: recognize upper-case "ID3" chunk nameMichal Smucr1-1/+2
Some tagging libraries (eg. TagLib) produce that variant.
2013-12-17input/cdio: fix typo in #include pathMax Kellermann1-1/+1
Broken by commit 3b0fea5f
2013-12-16util/{Domain,Error}: relicense to BSD 2-clauseMax Kellermann3-43/+73
2013-12-15util/PeakBuffer: use DynamicFifoBuffer instead of struct fifo_bufferMax Kellermann3-48/+36
Switch to the C++ version.
2013-12-15util/PeakBuffer: return ConstBuffer<void>Max Kellermann3-11/+16
2013-12-15util/WritableBuffer: add cast methodsMax Kellermann1-1/+30
2013-12-15util/WritableBuffer: fix indentMax Kellermann1-31/+31
2013-12-15util/DynamicFifoBuffer: make constructor "explicit"Max Kellermann1-1/+1
2013-12-15mixer/alsa: fix deadlockMax Kellermann1-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.
2013-12-15configure.ac: add option "--disable-glib"Max Kellermann6-3/+35
Allows building without GLib. This fails to compile currently, because GLib is still used in the MPD core.
2013-12-15Daemon: use strdup() instead of g_strdup()Max Kellermann1-5/+3
2013-12-15util/Tokenizer, ...: include cleanupMax Kellermann6-12/+0
2013-12-15system/SocketError, ...: use strerror() instead of g_strerror()Max Kellermann4-9/+14
Avoid GLib.
2013-12-15LogInit: move backend code to LogBackend.cxxMax Kellermann3-175/+206