Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | StateFile: use StringAfterPrefix() instead of StringStartsWith() | Max Kellermann | 2015-11-11 | 1 | -2/+2 |
| | |||||
* | util/StringUtil: move comparison functions to StringCompare.cxx | Max Kellermann | 2015-11-06 | 1 | -1/+1 |
| | |||||
* | unix/Daemon, playlist/pls, ...: remove unused Domain variables | Max Kellermann | 2015-09-17 | 1 | -3/+0 |
| | |||||
* | output: add native Haiku audio output and mixer support | François Revol | 2015-09-17 | 2 | -0/+74 |
| | | | | Also uses the notification system to display tags. | ||||
* | *: doxygen fixups | Max Kellermann | 2015-03-17 | 1 | -1/+1 |
| | |||||
* | *: change C-style prototypes, drop "(void)" | Max Kellermann | 2015-03-03 | 1 | -1/+1 |
| | |||||
* | config/Param: split block-specific attributes to new struct ConfigBlock | Max Kellermann | 2015-01-21 | 10 | -27/+27 |
| | | | | The old struct config_param remains only for top-level string options. | ||||
* | ConfigData: move struct config_param to Param.hxx | Max Kellermann | 2015-01-21 | 2 | -2/+2 |
| | |||||
* | MixerAll: restore "null" mixer volume from state file | Max Kellermann | 2015-01-16 | 1 | -1/+2 |
| | |||||
* | Copyright year 2015 | Max Kellermann | 2015-01-01 | 20 | -20/+20 |
| | |||||
* | {mixer,output}/pulse: move code to LogPulseError() | Max Kellermann | 2014-12-29 | 1 | -7/+5 |
| | |||||
* | {mixer,output}/pulse: use a common Domain instance | Max Kellermann | 2014-12-29 | 1 | -6/+4 |
| | |||||
* | mixer/pulse: remove redundant "virtual" keywords | Max Kellermann | 2014-12-29 | 1 | -4/+4 |
| | |||||
* | mixer/null: new mixer plugin | Max Kellermann | 2014-12-02 | 4 | -0/+73 |
| | |||||
* | MixerType: convert to strictly-typed enum | Max Kellermann | 2014-12-02 | 2 | -12/+12 |
| | |||||
* | MixerType: rename to CamelCase | Max Kellermann | 2014-12-02 | 2 | -5/+5 |
| | |||||
* | fs/output, fs/TextFile: move to fs/io/ | Max Kellermann | 2014-08-07 | 1 | -1/+1 |
| | |||||
* | *Save, *State: use the OutputStream API instead of FILE* | Max Kellermann | 2014-07-30 | 2 | -5/+7 |
| | |||||
* | mixer/software: keep attribute "volume" in the 0..100 range | Max Kellermann | 2014-05-12 | 1 | -7/+19 |
| | | | | | The attribute must be 0..100 and not 0..1024. Previously, the code was inconsistent. | ||||
* | PulseOutputPlugin: avoid locking mainloop object from within mainloop thread | Pete Beardmore | 2014-03-05 | 1 | -5/+14 |
| | | | | | | | | | | | | -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 | ||||
* | Mixer: add class MixerListener | Max Kellermann | 2014-02-19 | 13 | -44/+90 |
| | | | | Use a listener interface instead of GlobalEvents. | ||||
* | mixer/Plugin: pass AudioOutput reference to init() | Max Kellermann | 2014-02-06 | 10 | -39/+33 |
| | | | | Passing a void pointer is unsafe. | ||||
* | MixerPlugin: convert function pointers to Mixer virtual methods | Max Kellermann | 2014-02-06 | 10 | -297/+199 |
| | |||||
* | Mixer: delete the implicit copy constructor | Max Kellermann | 2014-02-06 | 1 | -0/+2 |
| | |||||
* | Mixer: make the constructor "explicit" | Max Kellermann | 2014-02-06 | 1 | -1/+1 |
| | |||||
* | mixer/software: use IgnoreError() | Max Kellermann | 2014-02-06 | 1 | -2/+2 |
| | |||||
* | Mixer: use reference instead of pointer for MixerPlugin | Max Kellermann | 2014-02-05 | 4 | -26/+18 |
| | |||||
* | Mixer: rename struct mixer_plugin to MixerPlugin | Max Kellermann | 2014-02-05 | 11 | -19/+21 |
| | |||||
* | MixerPlugin: add EventLoop& init() parameter | Max Kellermann | 2014-02-05 | 9 | -14/+25 |
| | |||||
* | output: rename source files | Max Kellermann | 2014-01-28 | 1 | -1/+1 |
| | |||||
* | output: rename struct audio_output to AudioOutput | Max Kellermann | 2014-01-28 | 2 | -4/+4 |
| | |||||
* | OutputPlugin: rename struct audio_output_plugin to AudioOutputPlugin | Max Kellermann | 2014-01-28 | 1 | -1/+1 |
| | |||||
* | OutputAll: convert to class, move instance to class Partition | Max Kellermann | 2014-01-28 | 4 | -133/+57 |
| | | | | Another big chunk of code for multi-player support. | ||||
* | Mixer*: move to mixer/ | Max Kellermann | 2014-01-24 | 19 | -6/+920 |
| | |||||
* | Filter*: move to filter/ | Max Kellermann | 2014-01-24 | 1 | -4/+4 |
| | |||||
* | Config*: move to config/ | Max Kellermann | 2014-01-24 | 2 | -2/+2 |
| | |||||
* | output/*: move to output/plugins/ | Max Kellermann | 2014-01-23 | 4 | -5/+5 |
| | |||||
* | copyright year 2014 | Max Kellermann | 2014-01-13 | 8 | -8/+8 |
| | |||||
* | event/MultiSocketMonitor: add method ClearSocketList() | Max Kellermann | 2014-01-06 | 1 | -1/+3 |
| | |||||
* | event/MultiSocketMonitor: add method ReplaceSocketList() | Max Kellermann | 2014-01-05 | 1 | -18/+1 |
| | | | Move code from AlsaMixerPlugin. | ||||
* | mixer/alsa: use DeferredMonitor to update file descriptors | Max Kellermann | 2014-01-04 | 1 | -14/+7 |
| | | | | | EventLoop::AddCall() and EventLoop::AddIdle() are unsafe, because we can't cancel those calls. | ||||
* | pcm/PcmVolume: rename to Volume.cxx | Max Kellermann | 2013-12-23 | 1 | -1/+1 |
| | |||||
* | util/Clamp: generic Clamp() function | Max Kellermann | 2013-12-22 | 1 | -2/+2 |
| | |||||
* | Merge branch 'v0.18.x' | Max Kellermann | 2013-12-15 | 1 | -1/+13 |
|\ | |||||
| * | mixer/alsa: fix deadlock | Max Kellermann | 2013-12-15 | 1 | -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. | ||||
* | | Merge branch 'v0.18.x' | Max Kellermann | 2013-12-14 | 1 | -1/+2 |
|\| | |||||
| * | mixer/alsa: use BlockingCall() instead of EventLoop::AddCall() | Max Kellermann | 2013-12-13 | 1 | -1/+2 |
| | | | | | | | | | | This is safer, and works without epoll(). Fixes a build failure with uClibc, which does not support epoll(). | ||||
* | | include cleanup using iwyu | Max Kellermann | 2013-11-28 | 4 | -11/+4 |
|/ | |||||
* | mixer/software: fix double free bug | Max Kellermann | 2013-10-30 | 1 | -3/+15 |
| | |||||
* | *: use nullptr instead of NULL | Max Kellermann | 2013-10-28 | 2 | -17/+17 |
| |