From dbd1b8490f2b64085e5c56bf1b2aaf430eab5b0f Mon Sep 17 00:00:00 2001 From: Sebastian Dröge Date: Thu, 8 Mar 2007 10:02:12 +0000 Subject: gst/audiofx/: Add new audiodynamic element which can act as a compressor or expander. Supported are hard-knee and sof... Original commit message from CVS: reviewed by: Stefan Kost * gst/audiofx/Makefile.am: * gst/audiofx/audiodynamic.c: (gst_audio_dynamic_characteristics_get_type), (gst_audio_dynamic_mode_get_type), (gst_audio_dynamic_set_process_function), (gst_audio_dynamic_base_init), (gst_audio_dynamic_class_init), (gst_audio_dynamic_init), (gst_audio_dynamic_set_property), (gst_audio_dynamic_get_property), (gst_audio_dynamic_setup), (gst_audio_dynamic_transform_hard_knee_compressor_int), (gst_audio_dynamic_transform_hard_knee_compressor_float), (gst_audio_dynamic_transform_soft_knee_compressor_int), (gst_audio_dynamic_transform_soft_knee_compressor_float), (gst_audio_dynamic_transform_hard_knee_expander_int), (gst_audio_dynamic_transform_hard_knee_expander_float), (gst_audio_dynamic_transform_soft_knee_expander_int), (gst_audio_dynamic_transform_soft_knee_expander_float), (gst_audio_dynamic_transform_ip): * gst/audiofx/audiodynamic.h: * gst/audiofx/audiofx.c: (plugin_init): Add new audiodynamic element which can act as a compressor or expander. Supported are hard-knee and soft-knee operation modes with user-specified ratio and threshold. Attack and release parameters are not yet implemented but will follow. * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/inspect/plugin-audiofx.xml: Integrate audiodynamic into the docs. * tests/check/Makefile.am: * tests/check/elements/audiodynamic.c: (setup_dynamic), (cleanup_dynamic), (GST_START_TEST), (dynamic_suite), (main): Add unit test for audiodynamic. --- docs/plugins/Makefile.am | 1 + docs/plugins/gst-plugins-good-plugins-docs.sgml | 1 + docs/plugins/gst-plugins-good-plugins-sections.txt | 10 ++++++ docs/plugins/gst-plugins-good-plugins.args | 40 ++++++++++++++++++++++ docs/plugins/inspect/plugin-audiofx.xml | 7 ++++ 5 files changed, 59 insertions(+) (limited to 'docs/plugins') diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 640edbbb..174bb997 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -81,6 +81,7 @@ EXTRA_HFILES = \ $(top_srcdir)/gst/audiofx/audiopanorama.h \ $(top_srcdir)/gst/audiofx/audioinvert.h \ $(top_srcdir)/gst/audiofx/audioamplify.h \ + $(top_srcdir)/gst/audiofx/audiodynamic.h \ $(top_srcdir)/gst/autodetect/gstautoaudiosink.h \ $(top_srcdir)/gst/autodetect/gstautovideosink.h \ $(top_srcdir)/gst/avi/gstavidemux.h \ diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml index 37d17dda..291cc465 100644 --- a/docs/plugins/gst-plugins-good-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml @@ -17,6 +17,7 @@ + diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt index 066566c5..a092e485 100644 --- a/docs/plugins/gst-plugins-good-plugins-sections.txt +++ b/docs/plugins/gst-plugins-good-plugins-sections.txt @@ -57,6 +57,16 @@ GST_AUDIO_AMPLIFY GST_AUDIO_AMPLIFY_CLASS +
+element-audiodynamic +GstAudioDynamic +audiodynamic + +GstAudioDynamicClass +GST_AUDIO_DYNAMIC +GST_AUDIO_DYNAMIC_CLASS +
+
element-autoaudiosink GstAutoAudioSink diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args index 19537ee2..0486e22f 100644 --- a/docs/plugins/gst-plugins-good-plugins.args +++ b/docs/plugins/gst-plugins-good-plugins.args @@ -16668,3 +16668,43 @@ Normal Clipping (default) + +GstAudioDynamic::characteristics +GstAudioDynamicCharacteristics + +rw +Characteristics +Selects whether the ratio should be applied smooth (soft-knee) or hard (hard-knee). +Hard Knee (default) + + + +GstAudioDynamic::mode +GstAudioDynamicMode + +rw +Mode +Selects whether the filter should work on loud samples (compressor) orquiet samples (expander). +Compressor (default) + + + +GstAudioDynamic::ratio +gfloat +[0,inf] +rw +Ratio +Ratio that should be applied. +1 + + + +GstAudioDynamic::threshold +gfloat +[0,1] +rw +Threshold +Threshold until the filter is activated. +0 + + diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml index f860bd2b..9740da9e 100644 --- a/docs/plugins/inspect/plugin-audiofx.xml +++ b/docs/plugins/inspect/plugin-audiofx.xml @@ -16,6 +16,13 @@ Amplifies an audio stream by a given factor Sebastian Dröge <slomo@circular-chaos.org> + + audiodynamic + AudioDynamic + Filter/Effect/Audio + Compressor and Expander + Sebastian Dröge <slomo@circular-chaos.org> + audioinvert AudioInvert -- cgit