summaryrefslogtreecommitdiff
path: root/src/mixer/plugins
AgeCommit message (Collapse)Author
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-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-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-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
2016-12-28event/Loop: use std::chronoMax Kellermann
2016-09-09mixer: migrate to C++ exceptionsMax Kellermann
2016-09-09output/pulse: use a RTTI lock guardMax Kellermann
Make all the locks exception-safe.
2016-07-01mixer/software: move Filter management to the AudioOutputMax Kellermann
2016-07-01mixer/software: use C++11 initializersMax Kellermann
2016-03-07Merge branch 'v0.19.x'Max Kellermann
2016-03-06mixer/pulse: fix integer division roundingMax Kellermann
2016-03-01*: include cleanup (using iwyu)Max Kellermann
2016-02-26update copyright year to 2016Max Kellermann
2015-09-17output: add native Haiku audio output and mixer supportFrançois Revol
Also uses the notification system to display tags.
2015-01-21config/Param: split block-specific attributes to new struct ConfigBlockMax Kellermann
The old struct config_param remains only for top-level string options.
2015-01-21ConfigData: move struct config_param to Param.hxxMax Kellermann
2015-01-01Copyright year 2015Max Kellermann
2014-12-29{mixer,output}/pulse: move code to LogPulseError()Max Kellermann
2014-12-29{mixer,output}/pulse: use a common Domain instanceMax Kellermann
2014-12-29mixer/pulse: remove redundant "virtual" keywordsMax Kellermann
2014-12-02mixer/null: new mixer pluginMax Kellermann
2014-05-12mixer/software: keep attribute "volume" in the 0..100 rangeMax Kellermann
The attribute must be 0..100 and not 0..1024. Previously, the code was inconsistent.
2014-03-05PulseOutputPlugin: avoid locking mainloop object from within mainloop threadPete Beardmore
-fixes regression introduced by: '8d6fedf8177d0d2ced81e6d93d35c368b2ac69db [PATCH] Mixer: add class MixerListener' -listener.OnMixerVolumeChanged() called GetVolume() which attempted to acquire the lock but as per 'pa_threaded_mainloop_lock()' documentation: This function may not be called inside the event loop thread. Events that are dispatched from the event loop thread are executed with this lock held -this patch seperates the underlying action of GetVolume() into a new GetVolumeInternal() function, to be called only when the lock is already held, as is the case for the listener.OnMixerVolumeChanged() call
2014-02-19Mixer: add class MixerListenerMax Kellermann
Use a listener interface instead of GlobalEvents.
2014-02-06mixer/Plugin: pass AudioOutput reference to init()Max Kellermann
Passing a void pointer is unsafe.
2014-02-06MixerPlugin: convert function pointers to Mixer virtual methodsMax Kellermann
2014-02-06mixer/software: use IgnoreError()Max Kellermann