Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | test/{read_conf,run_filter}: convert to C++ | Max Kellermann | 2013-01-29 | 1 | -1/+1 |
| | |||||
* | filter/replay_gain: convert to C++ | Max Kellermann | 2013-01-07 | 2 | -14/+18 |
| | |||||
* | filter/ReplayGain: add method _set_mode() | Max Kellermann | 2013-01-05 | 2 | -11/+20 |
| | | | | | Push the new mode to the filter instead of accessing global variables through replay_gain_get_real_mode(). | ||||
* | Merge branch 'v0.17.x' | Max Kellermann | 2012-08-15 | 1 | -1/+0 |
|\ | | | | | | | | | Conflicts: src/player_thread.c | ||||
| * | filter/volume: include cleanup | Max Kellermann | 2012-08-15 | 1 | -1/+0 |
| | | |||||
* | | DatabaseVisitor, ...: use GError forward declaration | Max Kellermann | 2012-08-02 | 1 | -0/+1 |
|/ | |||||
* | audio_format: remove the reverse_endian attribute | Max Kellermann | 2012-03-21 | 4 | -6/+0 |
| | | | | | | Eliminate support for reverse endian samples from the MPD core. This moves a lot of complexity to the plugins that really need it (only ALSA and CDIO currently). | ||||
* | pcm_{mix,volume}: pass only sample_format to pcm_mix() | Max Kellermann | 2011-10-10 | 2 | -2/+2 |
| | | | | The other audio_format attributes are not used. | ||||
* | audio_format: convert reverse_endian to a "bool" | Max Kellermann | 2011-10-10 | 1 | -1/+1 |
| | |||||
* | copyright year 2011 | Max Kellermann | 2011-01-29 | 13 | -13/+13 |
| | |||||
* | ReplayGain filter: allow gain > 100 % | Johan Kiviniemi | 2010-08-23 | 1 | -3/+11 |
| | | | | | | | The ReplayGain filter clamped the gain to max. 100 % even if the algorithm determined the signal needed a boost. That would result in any such tracks being played with too low volume, effectively defeating the purpose of the filter. | ||||
* | filter/route: fixed unsigned/signed comparison | Max Kellermann | 2010-06-06 | 1 | -1/+1 |
| | | | | Fixes a clang warning. | ||||
* | filter/replay_gain: added option "replaygain_limit" | Daniel Seuthe | 2010-05-30 | 1 | -5/+2 |
| | |||||
* | replay_gain_config: added function replay_gain_get_real_mode() | Daniel Seuthe | 2010-05-18 | 1 | -11/+2 |
| | |||||
* | filter/replay_gain: removed duplicate *dest_size_r assignment | Max Kellermann | 2010-05-02 | 1 | -1/+0 |
| | |||||
* | replay_gain: added mode "auto" | Daniel Seuthe | 2010-04-25 | 1 | -3/+16 |
| | |||||
* | replay_gain: optionally use hardware mixer to apply replay gain | Max Kellermann | 2010-02-17 | 2 | -0/+58 |
| | | | | | | | | | | Add an option for each audio output which enables the use of the hardware mixer, instead of the software volume code. This is hardware specific, and assumes linear volume control. This is not the case for hardware mixers which were tested, making this patch somewhat useless, but we will use it to experiment with the settings, to find a good solution. | ||||
* | replay_gain: fall back to track gain if album gain is unavailable | Max Kellermann | 2010-02-17 | 1 | -2/+3 |
| | |||||
* | replay_gain: reimplement as a filter plugin | Max Kellermann | 2010-02-17 | 2 | -0/+230 |
| | | | | | | | Apply the replay gain in the output thread. This means a new setting will be active instantly, without going through the whole music pipe. And we might have different replay gain settings for each audio output device. | ||||
* | filter/volume: assign dest_size_r early, eliminate one | Max Kellermann | 2010-02-15 | 1 | -4/+3 |
| | |||||
* | Update copyright notices. | Avuton Olrich | 2009-12-31 | 11 | -11/+11 |
| | |||||
* | filter: added the "autoconvert" filter plugin | Max Kellermann | 2009-12-25 | 2 | -0/+203 |
| | |||||
* | filter_plugin: allow open() to force an input format | Max Kellermann | 2009-12-25 | 6 | -33/+47 |
| | | | | | | | Make the audio_format argument non-const. Allow the open() method to modify it, to indicate that it wants a different input audio format than the one specified. Check that condition in chain_filter_open(), and fail. | ||||
* | filter/volume: support 32 bit samples | Max Kellermann | 2009-12-25 | 1 | -8/+0 |
| | | | | | The pcm_volume library supports 32 bit samples, there's no reason to disallow it in the filter plugin. | ||||
* | filter/route: check configured channel count in method init() | Max Kellermann | 2009-12-25 | 1 | -8/+9 |
| | | | | Detect misconfiguration during MPD startup, not when playback begins. | ||||
* | filter/route: route_filter_parse() returns bool | Max Kellermann | 2009-12-25 | 1 | -3/+6 |
| | | | | Indicate success and error. | ||||
* | filter/chain: return NULL if a filter() method has failed | Max Kellermann | 2009-12-25 | 1 | -1/+1 |
| | | | | Don't close child filters in the filter() method. | ||||
* | filter: added normalize filter plugin | Max Kellermann | 2009-12-14 | 1 | -0/+123 |
| | | | | Wrap the AudioCompress library in a filter plugin. | ||||
* | Fixed memory leak on incorrect route configuration | Albin Eldstål-Damlin | 2009-12-14 | 1 | -0/+4 |
| | |||||
* | Split filter_config into its own module | Albin Eldstål-Damlin | 2009-12-14 | 2 | -109/+0 |
| | |||||
* | Error reporting, pcm_buffer, performance tweaks | Albin Eldstål-Damlin | 2009-12-14 | 1 | -52/+48 |
| | |||||
* | Initial filter chain and filter configuration for outputs. | Albin Eldstål-Damlin | 2009-12-14 | 2 | -0/+111 |
| | |||||
* | Initial (statically configured) route filter plugin | Albin Eldstål-Damlin | 2009-12-14 | 1 | -0/+345 |
| | |||||
* | audio_format: changed "bits" to "enum sample_format" | Max Kellermann | 2009-12-02 | 1 | -2/+3 |
| | | | | | | This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value. | ||||
* | include config.h in all sources | Max Kellermann | 2009-11-12 | 4 | -0/+4 |
| | | | | | | After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue. | ||||
* | pcm_convert: use GError for error handling | Max Kellermann | 2009-07-23 | 1 | -11/+3 |
| | | | | | Don't abort the whole MPD process when the conversion fails. This has been a denial-of-service attack vector for years. | ||||
* | filter/volume: check the flag audio_format.reverse_endian | Max Kellermann | 2009-07-22 | 1 | -0/+7 |
| | | | | The volume plugin does not work for reverse_endian samples. | ||||
* | Add reverse_endian field to struct audio_format and handle conversion | David Woodhouse | 2009-07-19 | 1 | -0/+1 |
| | |||||
* | mixer/software: new mixer which controls filter/volume | Max Kellermann | 2009-07-06 | 1 | -0/+1 |
| | | | | | | | This mixer plugin may be used instead of the traditional global software mixer. It integrates with the "volume" filter plugin, and can control the software volume of an audio output which has no hardware mixer. | ||||
* | filter/convert: new filter which calls pcm_convert() on demand | Max Kellermann | 2009-07-06 | 2 | -0/+190 |
| | |||||
* | filter/chain: new library for creating a chain of filters | Max Kellermann | 2009-07-06 | 2 | -0/+225 |
| | |||||
* | filter/volume: don't use volume_level_get() | Max Kellermann | 2009-07-05 | 2 | -6/+67 |
| | | | | Added public methods to get and set the current volume. | ||||
* | filter: added "volume" plugin | Max Kellermann | 2009-07-03 | 1 | -0/+136 |
| | | | | | | | | | | The "volume" filter plugin will replace the current software volume code. One "volume" filter may be attached to each output device. This will allow the user to use hardware mixers for some devices, and software mixers for other devices at the same time. Currently, neither the filter API nor the "volume" plugin is integrated into MPD. | ||||
* | filter: added new plugin API for filters | Max Kellermann | 2009-07-03 | 1 | -0/+93 |
The filter API allows us to implement software volume as a pluggable filter, and we will be able to integrate libraries like SoX. |