aboutsummaryrefslogtreecommitdiffstats
path: root/src/filter (follow)
Commit message (Collapse)AuthorAgeFilesLines
* filter/ReplayGain: add method _set_mode()Max Kellermann2013-01-052-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 Kellermann2012-08-151-1/+0
|\ | | | | | | | | Conflicts: src/player_thread.c
| * filter/volume: include cleanupMax Kellermann2012-08-151-1/+0
| |
* | DatabaseVisitor, ...: use GError forward declarationMax Kellermann2012-08-021-0/+1
|/
* audio_format: remove the reverse_endian attributeMax Kellermann2012-03-214-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 Kellermann2011-10-102-2/+2
| | | | The other audio_format attributes are not used.
* audio_format: convert reverse_endian to a "bool"Max Kellermann2011-10-101-1/+1
|
* copyright year 2011Max Kellermann2011-01-2913-13/+13
|
* ReplayGain filter: allow gain > 100 %Johan Kiviniemi2010-08-231-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 comparisonMax Kellermann2010-06-061-1/+1
| | | | Fixes a clang warning.
* filter/replay_gain: added option "replaygain_limit"Daniel Seuthe2010-05-301-5/+2
|
* replay_gain_config: added function replay_gain_get_real_mode()Daniel Seuthe2010-05-181-11/+2
|
* filter/replay_gain: removed duplicate *dest_size_r assignmentMax Kellermann2010-05-021-1/+0
|
* replay_gain: added mode "auto"Daniel Seuthe2010-04-251-3/+16
|
* replay_gain: optionally use hardware mixer to apply replay gainMax Kellermann2010-02-172-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 unavailableMax Kellermann2010-02-171-2/+3
|
* replay_gain: reimplement as a filter pluginMax Kellermann2010-02-172-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 oneMax Kellermann2010-02-151-4/+3
|
* Update copyright notices.Avuton Olrich2009-12-3111-11/+11
|
* filter: added the "autoconvert" filter pluginMax Kellermann2009-12-252-0/+203
|
* filter_plugin: allow open() to force an input formatMax Kellermann2009-12-256-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 samplesMax Kellermann2009-12-251-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 Kellermann2009-12-251-8/+9
| | | | Detect misconfiguration during MPD startup, not when playback begins.
* filter/route: route_filter_parse() returns boolMax Kellermann2009-12-251-3/+6
| | | | Indicate success and error.
* filter/chain: return NULL if a filter() method has failedMax Kellermann2009-12-251-1/+1
| | | | Don't close child filters in the filter() method.
* filter: added normalize filter pluginMax Kellermann2009-12-141-0/+123
| | | | Wrap the AudioCompress library in a filter plugin.
* Fixed memory leak on incorrect route configurationAlbin Eldstål-Damlin2009-12-141-0/+4
|
* Split filter_config into its own moduleAlbin Eldstål-Damlin2009-12-142-109/+0
|
* Error reporting, pcm_buffer, performance tweaksAlbin Eldstål-Damlin2009-12-141-52/+48
|
* Initial filter chain and filter configuration for outputs.Albin Eldstål-Damlin2009-12-142-0/+111
|
* Initial (statically configured) route filter pluginAlbin Eldstål-Damlin2009-12-141-0/+345
|
* audio_format: changed "bits" to "enum sample_format"Max Kellermann2009-12-021-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 sourcesMax Kellermann2009-11-124-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 handlingMax Kellermann2009-07-231-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_endianMax Kellermann2009-07-221-0/+7
| | | | The volume plugin does not work for reverse_endian samples.
* Add reverse_endian field to struct audio_format and handle conversionDavid Woodhouse2009-07-191-0/+1
|
* mixer/software: new mixer which controls filter/volumeMax Kellermann2009-07-061-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 demandMax Kellermann2009-07-062-0/+190
|
* filter/chain: new library for creating a chain of filtersMax Kellermann2009-07-062-0/+225
|
* filter/volume: don't use volume_level_get()Max Kellermann2009-07-052-6/+67
| | | | Added public methods to get and set the current volume.
* filter: added "volume" pluginMax Kellermann2009-07-031-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 filtersMax Kellermann2009-07-031-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.