AgsFluidIIRFilterUtil

AgsFluidIIRFilterUtil — util functions to fluid IIR filter

Stability Level

Stable, unless otherwise indicated

Functions

#define AGS_FLUID_IIR_FILTER()
AgsFluidIIRFilterUtil * ags_fluid_iir_filter_util_alloc ()
gpointer ags_fluid_iir_filter_util_copy ()
void ags_fluid_iir_filter_util_free ()
gpointer ags_fluid_iir_filter_util_get_source ()
void ags_fluid_iir_filter_util_set_source ()
guint ags_fluid_iir_filter_util_get_source_stride ()
void ags_fluid_iir_filter_util_set_source_stride ()
gpointer ags_fluid_iir_filter_util_get_destination ()
void ags_fluid_iir_filter_util_set_destination ()
guint ags_fluid_iir_filter_util_get_destination_stride ()
void ags_fluid_iir_filter_util_set_destination_stride ()
guint ags_fluid_iir_filter_util_get_buffer_length ()
void ags_fluid_iir_filter_util_set_buffer_length ()
guint ags_fluid_iir_filter_util_get_format ()
void ags_fluid_iir_filter_util_set_format ()
guint ags_fluid_iir_filter_util_get_samplerate ()
void ags_fluid_iir_filter_util_set_samplerate ()
guint ags_fluid_iir_filter_util_get_filter_type ()
void ags_fluid_iir_filter_util_set_filter_type ()
guint ags_fluid_iir_filter_util_get_flags ()
void ags_fluid_iir_filter_util_set_flags ()
gboolean ags_fluid_iir_filter_util_get_filter_startup ()
void ags_fluid_iir_filter_util_set_filter_startup ()
gdouble ags_fluid_iir_filter_util_get_q_lin ()
void ags_fluid_iir_filter_util_set_q_lin ()
gdouble ags_fluid_iir_filter_util_get_filter_gain ()
void ags_fluid_iir_filter_util_set_filter_gain ()
void ags_fluid_iir_filter_util_calc ()
void ags_fluid_iir_filter_util_process_s8 ()
void ags_fluid_iir_filter_util_process_s16 ()
void ags_fluid_iir_filter_util_process_s24 ()
void ags_fluid_iir_filter_util_process_s32 ()
void ags_fluid_iir_filter_util_process_s64 ()
void ags_fluid_iir_filter_util_process_float ()
void ags_fluid_iir_filter_util_process_double ()
void ags_fluid_iir_filter_util_process_complex ()
void ags_fluid_iir_filter_util_process ()
void ags_fluid_iir_filter_util_apply_s8 ()
void ags_fluid_iir_filter_util_apply_s16 ()
void ags_fluid_iir_filter_util_apply_s24 ()
void ags_fluid_iir_filter_util_apply_s32 ()
void ags_fluid_iir_filter_util_apply_s64 ()
void ags_fluid_iir_filter_util_apply_float ()
void ags_fluid_iir_filter_util_apply_double ()
void ags_fluid_iir_filter_util_apply_complex ()

Types and Values

Includes

#include <ags/audio/ags_fluid_iir_filter_util.h>

Description

These utility functions allow you to calc and apply fluid IIR filter data.

Functions

AGS_FLUID_IIR_FILTER()

#define AGS_FLUID_IIR_FILTER(ptr)              ((AgsFluidIIRFilter *)(ptr))

ags_fluid_iir_filter_util_alloc ()

AgsFluidIIRFilterUtil *
ags_fluid_iir_filter_util_alloc ();

Allocate AgsFluidIIRFilterUtil.

Returns

the newly allocated AgsFluidIIRFilterUtil

Since: 3.9.6


ags_fluid_iir_filter_util_copy ()

gpointer
ags_fluid_iir_filter_util_copy (AgsFluidIIRFilterUtil *ptr);

Create a copy of ptr .

Parameters

ptr

the original AgsFluidIIRFilterUtil

 

Returns

a pointer of the new AgsFluidIIRFilterUtil

Since: 3.9.6


ags_fluid_iir_filter_util_free ()

void
ags_fluid_iir_filter_util_free (AgsFluidIIRFilterUtil *ptr);

Free the memory of ptr .

Parameters

Since: 3.9.6


ags_fluid_iir_filter_util_get_source ()

gpointer
ags_fluid_iir_filter_util_get_source (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get source buffer of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the source buffer

Since: 3.9.6


ags_fluid_iir_filter_util_set_source ()

void
ags_fluid_iir_filter_util_set_source (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                      gpointer source);

Set source buffer of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

source

the source buffer

 

Since: 3.9.6


ags_fluid_iir_filter_util_get_source_stride ()

guint
ags_fluid_iir_filter_util_get_source_stride
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get source stride of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the source buffer stride

Since: 3.9.6


ags_fluid_iir_filter_util_set_source_stride ()

void
ags_fluid_iir_filter_util_set_source_stride
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                guint source_stride);

Set source stride of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

source_stride

the source buffer stride

 

Since: 3.9.6


ags_fluid_iir_filter_util_get_destination ()

gpointer
ags_fluid_iir_filter_util_get_destination
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get destination buffer of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the destination buffer

Since: 3.9.6


ags_fluid_iir_filter_util_set_destination ()

void
ags_fluid_iir_filter_util_set_destination
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                gpointer destination);

Set destination buffer of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

destination

the destination buffer

 

Since: 3.9.6


ags_fluid_iir_filter_util_get_destination_stride ()

guint
ags_fluid_iir_filter_util_get_destination_stride
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get destination stride of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the destination buffer stride

Since: 3.9.6


ags_fluid_iir_filter_util_set_destination_stride ()

void
ags_fluid_iir_filter_util_set_destination_stride
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                guint destination_stride);

Set destination stride of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

destination_stride

the destination buffer stride

 

Since: 3.9.6


ags_fluid_iir_filter_util_get_buffer_length ()

guint
ags_fluid_iir_filter_util_get_buffer_length
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get buffer length of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the buffer length

Since: 3.9.6


ags_fluid_iir_filter_util_set_buffer_length ()

void
ags_fluid_iir_filter_util_set_buffer_length
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                guint buffer_length);

Set buffer_length of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

buffer_length

the buffer length

 

Since: 3.9.6


ags_fluid_iir_filter_util_get_format ()

guint
ags_fluid_iir_filter_util_get_format (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get format of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the format

Since: 3.9.6


ags_fluid_iir_filter_util_set_format ()

void
ags_fluid_iir_filter_util_set_format (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                      guint format);

Set format of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

format

the format

 

Since: 3.9.6


ags_fluid_iir_filter_util_get_samplerate ()

guint
ags_fluid_iir_filter_util_get_samplerate
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get samplerate of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the samplerate

Since: 3.9.6


ags_fluid_iir_filter_util_set_samplerate ()

void
ags_fluid_iir_filter_util_set_samplerate
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                guint samplerate);

Set samplerate of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

samplerate

the samplerate

 

Since: 3.9.6


ags_fluid_iir_filter_util_get_filter_type ()

guint
ags_fluid_iir_filter_util_get_filter_type
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get filter type of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the filter type

Since: 3.9.7


ags_fluid_iir_filter_util_set_filter_type ()

void
ags_fluid_iir_filter_util_set_filter_type
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                guint filter_type);

Set filter_type of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

filter_type

the filter type

 

Since: 3.9.7


ags_fluid_iir_filter_util_get_flags ()

guint
ags_fluid_iir_filter_util_get_flags (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get flags of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the flags

Since: 3.9.7


ags_fluid_iir_filter_util_set_flags ()

void
ags_fluid_iir_filter_util_set_flags (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                     guint flags);

Set flags of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

flags

the flags

 

Since: 3.9.7


ags_fluid_iir_filter_util_get_filter_startup ()

gboolean
ags_fluid_iir_filter_util_get_filter_startup
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get filter startup of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

TRUE if the filter does startup, otherwise FALSE

Since: 3.9.7


ags_fluid_iir_filter_util_set_filter_startup ()

void
ags_fluid_iir_filter_util_set_filter_startup
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                gboolean filter_startup);

Set filter_startup of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

filter_startup

the filter startup

 

Since: 3.9.7


ags_fluid_iir_filter_util_get_q_lin ()

gdouble
ags_fluid_iir_filter_util_get_q_lin (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get q-lin of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the q-lin

Since: 3.9.7


ags_fluid_iir_filter_util_set_q_lin ()

void
ags_fluid_iir_filter_util_set_q_lin (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                     gdouble q_lin);

Set q_lin of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

q_lin

the q-lin

 

Since: 3.9.7


ags_fluid_iir_filter_util_get_filter_gain ()

gdouble
ags_fluid_iir_filter_util_get_filter_gain
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Get filter gain of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Returns

the filter gain

Since: 3.9.7


ags_fluid_iir_filter_util_set_filter_gain ()

void
ags_fluid_iir_filter_util_set_filter_gain
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util,
                                gdouble filter_gain);

Set filter_gain of fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

filter_gain

the filter gain

 

Since: 3.9.7


ags_fluid_iir_filter_util_calc ()

void
ags_fluid_iir_filter_util_calc (AgsFluidIIRFilter *iir_filter,
                                gdouble output_rate,
                                gdouble fres_mod,
                                gint transition_samples);

Calc fluid IIR filter.

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

output_rate

the output rate

 

fres_mod

the fres mod

 

transition_samples

the transition samples

 

Since: 3.8.12


ags_fluid_iir_filter_util_process_s8 ()

void
ags_fluid_iir_filter_util_process_s8 (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util of signed 8 bit data.

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_process_s16 ()

void
ags_fluid_iir_filter_util_process_s16 (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util of signed 16 bit data.

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_process_s24 ()

void
ags_fluid_iir_filter_util_process_s24 (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util of signed 24 bit data.

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_process_s32 ()

void
ags_fluid_iir_filter_util_process_s32 (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util of signed 32 bit data.

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_process_s64 ()

void
ags_fluid_iir_filter_util_process_s64 (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util of signed 64 bit data.

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_process_float ()

void
ags_fluid_iir_filter_util_process_float
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util of floating point data.

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_process_double ()

void
ags_fluid_iir_filter_util_process_double
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util of double precision floating point data.

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_process_complex ()

void
ags_fluid_iir_filter_util_process_complex
                               (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util of complex data.

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_process ()

void
ags_fluid_iir_filter_util_process (AgsFluidIIRFilterUtil *fluid_iir_filter_util);

Process fluid_iir_filter_util .

Parameters

fluid_iir_filter_util

the AgsFluidIIRFilterUtil

 

Since: 3.9.7


ags_fluid_iir_filter_util_apply_s8 ()

void
ags_fluid_iir_filter_util_apply_s8 (AgsFluidIIRFilter *iir_filter,
                                    gint8 *destination,
                                    gint8 *source,
                                    guint buffer_length);

ags_fluid_iir_filter_util_apply_s8 is deprecated and should not be used in newly-written code.

Perform fluid IIR filter on buffer and return the result in output_buffer .

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

destination

the destination audio buffer

 

source

the source audio buffer

 

buffer_length

the buffer length

 

Since: 3.8.12


ags_fluid_iir_filter_util_apply_s16 ()

void
ags_fluid_iir_filter_util_apply_s16 (AgsFluidIIRFilter *iir_filter,
                                     gint16 *destination,
                                     gint16 *source,
                                     guint buffer_length);

ags_fluid_iir_filter_util_apply_s16 is deprecated and should not be used in newly-written code.

Perform fluid IIR filter on buffer and return the result in output_buffer .

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

destination

the destination audio buffer

 

source

the source audio buffer

 

buffer_length

the buffer length

 

Since: 3.8.12


ags_fluid_iir_filter_util_apply_s24 ()

void
ags_fluid_iir_filter_util_apply_s24 (AgsFluidIIRFilter *iir_filter,
                                     gint32 *destination,
                                     gint32 *source,
                                     guint buffer_length);

ags_fluid_iir_filter_util_apply_s24 is deprecated and should not be used in newly-written code.

Perform fluid IIR filter on buffer and return the result in output_buffer .

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

destination

the destination audio buffer

 

source

the source audio buffer

 

buffer_length

the buffer length

 

Since: 3.8.12


ags_fluid_iir_filter_util_apply_s32 ()

void
ags_fluid_iir_filter_util_apply_s32 (AgsFluidIIRFilter *iir_filter,
                                     gint32 *destination,
                                     gint32 *source,
                                     guint buffer_length);

ags_fluid_iir_filter_util_apply_s32 is deprecated and should not be used in newly-written code.

Perform fluid IIR filter on buffer and return the result in output_buffer .

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

destination

the destination audio buffer

 

source

the source audio buffer

 

buffer_length

the buffer length

 

Since: 3.8.12


ags_fluid_iir_filter_util_apply_s64 ()

void
ags_fluid_iir_filter_util_apply_s64 (AgsFluidIIRFilter *iir_filter,
                                     gint64 *destination,
                                     gint64 *source,
                                     guint buffer_length);

ags_fluid_iir_filter_util_apply_s64 is deprecated and should not be used in newly-written code.

Perform fluid IIR filter on buffer and return the result in output_buffer .

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

destination

the destination audio buffer

 

source

the source audio buffer

 

buffer_length

the buffer length

 

Since: 3.8.12


ags_fluid_iir_filter_util_apply_float ()

void
ags_fluid_iir_filter_util_apply_float (AgsFluidIIRFilter *iir_filter,
                                       gfloat *destination,
                                       gfloat *source,
                                       guint buffer_length);

ags_fluid_iir_filter_util_apply_float is deprecated and should not be used in newly-written code.

Perform fluid IIR filter on buffer and return the result in output_buffer .

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

destination

the destination audio buffer

 

source

the source audio buffer

 

buffer_length

the buffer length

 

Since: 3.8.12


ags_fluid_iir_filter_util_apply_double ()

void
ags_fluid_iir_filter_util_apply_double
                               (AgsFluidIIRFilter *iir_filter,
                                gdouble *destination,
                                gdouble *source,
                                guint buffer_length);

ags_fluid_iir_filter_util_apply_double is deprecated and should not be used in newly-written code.

Perform fluid IIR filter on buffer and return the result in output_buffer .

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

destination

the destination audio buffer

 

source

the source audio buffer

 

buffer_length

the buffer length

 

Since: 3.8.12


ags_fluid_iir_filter_util_apply_complex ()

void
ags_fluid_iir_filter_util_apply_complex
                               (AgsFluidIIRFilter *iir_filter,
                                AgsComplex *destination,
                                AgsComplex *source,
                                guint buffer_length);

ags_fluid_iir_filter_util_apply_complex is deprecated and should not be used in newly-written code.

Perform fluid IIR filter on buffer and return the result in output_buffer .

Parameters

iir_filter

the AgsFluidIIRFilter containing filter parameters

 

destination

the destination audio buffer

 

source

the source audio buffer

 

buffer_length

the buffer length

 

Since: 3.8.12

Types and Values

enum AgsFluidIIRFilterType

Members

AGS_FLUID_IIR_DISABLED

   

AGS_FLUID_IIR_LOWPASS

   

AGS_FLUID_IIR_HIGHPASS

   

AGS_FLUID_IIR_LAST

   

struct AgsFluidIIRFilter

struct AgsFluidIIRFilter {
  guint filter_type;
  guint flags;
  gdouble b02;
  gdouble b1;
  gdouble a1;
  gdouble a2;
  gdouble b02_incr;
  gdouble b1_incr;
  gdouble a1_incr;
  gdouble a2_incr;
  gint filter_coeff_incr_count;
  gint compensate_incr;
  gdouble hist1;
  gdouble hist2;
  gboolean filter_startup;
  gdouble fres;
  gdouble last_fres;
  gdouble q_lin;
  gdouble filter_gain;
};