aboutsummaryrefslogtreecommitdiffstats
path: root/src/filter (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-02-02FilterInternal: convert struct filter to a OO interfaceMax Kellermann13-586/+413
2013-02-02filter/*: don't use GLib macrosMax Kellermann6-26/+20
2013-02-01filter/Chain: use std::forward_list instead of GSListMax Kellermann1-41/+20
2013-02-01filter: convert to C++Max Kellermann9-80/+79
2013-01-31pcm_*: convert to C++Max Kellermann2-2/+2
2013-01-31mixer/software, filter/volume: convert to C++Max Kellermann2-12/+13
2013-01-31filter/convert: remove unused attributeMax Kellermann1-5/+0
2013-01-31pcm_convert: convert to C++Max Kellermann1-8/+9
2013-01-30filter/convert: convert to C++Max Kellermann4-65/+69
2013-01-30filter/autoconvert: include cleanupMax Kellermann1-5/+3
2013-01-30conf.h: move the GQuark to ConfigQuark.hxxMax Kellermann1-0/+1
2013-01-30filter/chain, encoder: GLib include cleanupMax Kellermann1-0/+2
2013-01-29test/{read_conf,run_filter}: convert to C++Max Kellermann1-1/+1
2013-01-07filter/replay_gain: convert to C++Max Kellermann2-14/+18
2013-01-05filter/ReplayGain: add method _set_mode()Max Kellermann2-11/+20
Push the new mode to the filter instead of accessing global variables through replay_gain_get_real_mode().
2012-08-15filter/volume: include cleanupMax Kellermann1-1/+0
2012-08-02DatabaseVisitor, ...: use GError forward declarationMax Kellermann1-0/+1
2012-03-21audio_format: remove the reverse_endian attributeMax Kellermann4-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).
2011-10-10pcm_{mix,volume}: pass only sample_format to pcm_mix()Max Kellermann2-2/+2
The other audio_format attributes are not used.
2011-10-10audio_format: convert reverse_endian to a "bool"Max Kellermann1-1/+1
2011-01-29copyright year 2011Max Kellermann13-13/+13
2010-08-23ReplayGain filter: allow gain > 100 %Johan Kiviniemi1-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.
2010-06-06filter/route: fixed unsigned/signed comparisonMax Kellermann1-1/+1
Fixes a clang warning.
2010-05-30filter/replay_gain: added option "replaygain_limit"Daniel Seuthe1-5/+2
2010-05-18replay_gain_config: added function replay_gain_get_real_mode()Daniel Seuthe1-11/+2
2010-05-02filter/replay_gain: removed duplicate *dest_size_r assignmentMax Kellermann1-1/+0
2010-04-25replay_gain: added mode "auto"Daniel Seuthe1-3/+16
2010-02-17replay_gain: optionally use hardware mixer to apply replay gainMax Kellermann2-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.
2010-02-17replay_gain: fall back to track gain if album gain is unavailableMax Kellermann1-2/+3
2010-02-17replay_gain: reimplement as a filter pluginMax Kellermann2-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.
2010-02-15filter/volume: assign dest_size_r early, eliminate oneMax Kellermann1-4/+3
2009-12-31Update copyright notices.Avuton Olrich11-11/+11
2009-12-25filter: added the "autoconvert" filter pluginMax Kellermann2-0/+203
2009-12-25filter_plugin: allow open() to force an input formatMax Kellermann6-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.
2009-12-25filter/volume: support 32 bit samplesMax Kellermann1-8/+0
The pcm_volume library supports 32 bit samples, there's no reason to disallow it in the filter plugin.
2009-12-25filter/route: check configured channel count in method init()Max Kellermann1-8/+9
Detect misconfiguration during MPD startup, not when playback begins.
2009-12-25filter/route: route_filter_parse() returns boolMax Kellermann1-3/+6
Indicate success and error.
2009-12-25filter/chain: return NULL if a filter() method has failedMax Kellermann1-1/+1
Don't close child filters in the filter() method.
2009-12-14filter: added normalize filter pluginMax Kellermann1-0/+123
Wrap the AudioCompress library in a filter plugin.
2009-12-14Fixed memory leak on incorrect route configurationAlbin Eldstål-Damlin1-0/+4
2009-12-14Split filter_config into its own moduleAlbin Eldstål-Damlin2-109/+0
2009-12-14Error reporting, pcm_buffer, performance tweaksAlbin Eldstål-Damlin1-52/+48
2009-12-14Initial filter chain and filter configuration for outputs.Albin Eldstål-Damlin2-0/+111
2009-12-14Initial (statically configured) route filter pluginAlbin Eldstål-Damlin1-0/+345
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-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.
2009-11-12include config.h in all sourcesMax Kellermann4-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.
2009-07-23pcm_convert: use GError for error handlingMax Kellermann1-11/+3
Don't abort the whole MPD process when the conversion fails. This has been a denial-of-service attack vector for years.
2009-07-22filter/volume: check the flag audio_format.reverse_endianMax Kellermann1-0/+7
The volume plugin does not work for reverse_endian samples.
2009-07-19Add reverse_endian field to struct audio_format and handle conversionDavid Woodhouse1-0/+1
2009-07-06mixer/software: new mixer which controls filter/volumeMax Kellermann1-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.