summaryrefslogtreecommitdiff
path: root/src/mixer
AgeCommit message (Collapse)Author
2020-03-25treewide: use boost::lround when std::round is unavailableRosen Penev
This is the case with uClibc-ng currently. Signed-off-by: Rosen Penev <rosenp@gmail.com> (cherry picked from commit 769cd0ee9f0cf8ceb026aa751b5d4a390bb5dbdc) (changed define to match master)
2020-03-25mixer: add AndroidMixerPluginThomas Guillem
2019-02-20mixer/pulse: add missing ParseFloat() checkMax Kellermann
2019-02-20mixer/pulse: move `volume_scale_factor` up to improve struct packingMax Kellermann
2019-02-20mixer/pulse: add `const` to `volume_scale_factor`Max Kellermann
2019-02-20mixer/pulse: use C++11 initializerMax Kellermann
2019-02-20mixer/pulse: rename `scale` to `scale_volume`Max Kellermann
Make it less generic, to avoid clashes.
2019-02-17mixer/pulse: Add a new 'scale' parameter to allow volumes above 100Clément Pit-Claudel
Closes GH-479.
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-11-11{output,mixer}/alsa: use snd_pcm_poll_descriptors_revents()Max Kellermann
This call was missing, causing very high CPU usage when the ALSA output plugin was used with dmix. Closes #391
2018-11-11lib/alsa/NonBlock: move the functions into a class managing the stateMax Kellermann
2018-11-04clamp 'set_normalized_volume' to valid values also for ALSA softvolStefano Miccoli
ensure that valid mixer values are set also when the ALSA driver does not report a valid dB range ('set_raw' fallback) correct a bug in which volume is assumed to lie in [0..100] instead of [0..1]
2018-10-31*: copyright year 2018Max Kellermann
2018-10-31output/roar: removeMax Kellermann
Bugs in libroar which broke the MPD build have been annoying me for quite some time, and the newest bug has now hit my main build machine: https://github.com/MusicPlayerDaemon/MPD/issues/377 Problem is the usage of the typedef `_IO_off64_t` in libroar's `vio_stdio.h`: int roar_vio_to_stdio_lseek (void *__cookie, _IO_off64_t *__pos, int __w); This `_IO_off64_t` is an internal implementation detail of glibc and was removed in version 2.28. Nobody must ever use it. Why the **** did the RoarAudio developers use it? Not using internal typedefs isn't exactly rocket science. This annoys me enough to finally remove the plugin. Anyway, I've never heard of anybody using RoarAudio, so my best guess is that nobody will notice.
2018-10-14build with Meson instead of autotoolsMax Kellermann
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords!
2018-08-20Compiler.h: move to util/Max Kellermann
2018-08-19mixer/Type: mixer_type_parse() throws on errorMax Kellermann
2018-02-11Merge tag 'v0.20.17'Max Kellermann
release v0.20.17
2018-02-10mixer/alsa: work around rounding error at volume 0Max Kellermann
Due to rounding errors, a slightly negative value can be passed to set_normalized_volume(), which will make the log10() call fail. Actually, volume 0 is already failing because log10(0) is illegal. So let's fix this by implementing two corner cases: <=0 and >=100. Closes #212
2017-12-19Main, ...: catch any exception, not just std::runtime_errorMax Kellermann
2017-12-18Merge tag 'v0.20.13'Max Kellermann
release v0.20.13
2017-12-18rounds alsa HW mixer volume towards ±∞ depending on sgn(∆ vol)Stefano Miccoli
This alleviates a problem in which 'volume +1' cannot be undo by 'volume -1' when using alsa hw mixer. Closes #104
2017-11-12event/MultiSocketMonitor: add "noexcept"Max Kellermann
2017-11-12{mixer,output}/alsa: migrate from DeferredMonitor to DeferEventMax Kellermann
2017-09-16Add sndio mixer pluginChristopher Zimmermann
2017-08-22Merge branch 'v0.20.x' into masterMatthew Leon
contains OSX mixer
2017-08-21OSX mixerMatthew Leon
2017-08-10mixer/oss: use class FileDescriptorMax Kellermann
2017-08-10mixer/Plugin: pass AudioOutput to init()Max Kellermann
Fix breakage from commit bea5681fd8adbc3536ee82b031970e7861ab90f9
2017-08-07output/Internal: rename source to Filtered.cxxMax Kellermann
2017-08-07filter/Internal: rename struct AudioOutput to FilteredAudioOutputMax Kellermann
Prepare to add an abstract class AudioOutput, to be implemented by plugins, to get rid of the C-style vtable.
2017-08-07mixer/Software: include cleanupMax Kellermann
2017-06-08mixer/software, filter/volume: add "noexcept"Max Kellermann
2017-06-08mixer/Internal: add "noexcept"Max Kellermann
2017-06-08mixer/Internal: use C++11 initializersMax Kellermann
2017-06-04Merge tag 'v0.20.9'Max Kellermann
release v0.20.9
2017-06-03storage, db, mixer, command: remove more bogus "pure" attributesMax Kellermann
This commit is similar to 788e3b31e1ab8243386339eaf136ede18f015d55, and removes more "pure" attributes which were placed on functions that could throw exceptions, which is illegal according to clang's understanding of the attribute (but not according to GCC's). GitHub issue #58 was most likely about StorageDirectoryReader::GetInfo() and Storage::GetInfo(), which still had "pure" attributes. Closes #58
2017-05-15Merge tag 'v0.20.7'Max Kellermann
release v0.20.7
2017-05-08*: add "noexcept" to many, many function prototypesMax Kellermann
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing.
2017-04-28output/Control: add struct AudioOutputControlMax Kellermann
Will move attributes from struct AudioOutput that are specific to the OutputThread. The new struct AudioOutputControl is a holder for the AudioOutput pointer. This prepares for making the output list more dynamic, to allow moving outputs to between partitions.
2017-02-20haiku: fix buildFrançois Revol
Some missing bits when converted to C++ exceptions...
2017-02-19Merge branch 'v0.20.x'Max Kellermann
2017-02-10{input,mixer}/alsa: cancel the DeferredMonitor in the destructorMax Kellermann
Yet another potential crash bug fix.
2017-02-09{input,mixer}/alsa: move code to lib/alsa/NonBlock.cxxMax Kellermann
2017-02-09mixer/alsa: reset the MultiSocketMonitor in the destructorMax Kellermann
Fixes potential crash bug.
2017-02-09{input,mixer}/alsa: fix off-by-one bug in count checkMax Kellermann
Doesn't make a practical difference - but it's more correct this way.
2017-01-07Rewrite of AlsaMixerPlugin to use volume_mappingTermeHansen
Changed AlsaMixerPlugin to use the get and set normalized functions from volume_mapping of alsa-utils/alsamixer Changed volume_mapping set volume to be for all channels and not per channel added volume_mapping files to Makefile.am
2017-01-07Adding volume_mapping from alsa-utils/alsamixerTermeHansen
source: http://git.alsa-project.org/?p=alsa-utils.git;a=blob_plain;f=alsamixer/volume_mapping.c;hb=HEAD http://git.alsa-project.org/?p=alsa-utils.git;a=blob_plain;f=alsamixer/volume_mapping.h;hb=HEAD
2017-01-03update copyright yearMax Kellermann
2017-01-03thread/Mutex: remove ScopeLock, use std::lock_guard directlyMax Kellermann