static void gst_freeverb_init (GstFreeverb * filter) { filter->priv = G_TYPE_INSTANCE_GET_PRIVATE (filter, GST_TYPE_FREEVERB, GstFreeverbPrivate); gst_audio_info_init (&filter->info); filter->process = NULL; gst_base_transform_set_gap_aware (GST_BASE_TRANSFORM (filter), TRUE); freeverb_revmodel_init (filter); }
static void gst_freeverb_init_rev_model (GstFreeverb * filter) { gfloat srfactor = filter->rate / 44100.0f; GstFreeverbPrivate *priv = filter->priv; freeverb_revmodel_free (filter); priv->gain = fixedgain; freeverb_comb_setbuffer (&priv->combL[0], combtuningL1 * srfactor); freeverb_comb_setbuffer (&priv->combR[0], combtuningR1 * srfactor); freeverb_comb_setbuffer (&priv->combL[1], combtuningL2 * srfactor); freeverb_comb_setbuffer (&priv->combR[1], combtuningR2 * srfactor); freeverb_comb_setbuffer (&priv->combL[2], combtuningL3 * srfactor); freeverb_comb_setbuffer (&priv->combR[2], combtuningR3 * srfactor); freeverb_comb_setbuffer (&priv->combL[3], combtuningL4 * srfactor); freeverb_comb_setbuffer (&priv->combR[3], combtuningR4 * srfactor); freeverb_comb_setbuffer (&priv->combL[4], combtuningL5 * srfactor); freeverb_comb_setbuffer (&priv->combR[4], combtuningR5 * srfactor); freeverb_comb_setbuffer (&priv->combL[5], combtuningL6 * srfactor); freeverb_comb_setbuffer (&priv->combR[5], combtuningR6 * srfactor); freeverb_comb_setbuffer (&priv->combL[6], combtuningL7 * srfactor); freeverb_comb_setbuffer (&priv->combR[6], combtuningR7 * srfactor); freeverb_comb_setbuffer (&priv->combL[7], combtuningL8 * srfactor); freeverb_comb_setbuffer (&priv->combR[7], combtuningR8 * srfactor); freeverb_allpass_setbuffer (&priv->allpassL[0], allpasstuningL1 * srfactor); freeverb_allpass_setbuffer (&priv->allpassR[0], allpasstuningR1 * srfactor); freeverb_allpass_setbuffer (&priv->allpassL[1], allpasstuningL2 * srfactor); freeverb_allpass_setbuffer (&priv->allpassR[1], allpasstuningR2 * srfactor); freeverb_allpass_setbuffer (&priv->allpassL[2], allpasstuningL3 * srfactor); freeverb_allpass_setbuffer (&priv->allpassR[2], allpasstuningR3 * srfactor); freeverb_allpass_setbuffer (&priv->allpassL[3], allpasstuningL4 * srfactor); freeverb_allpass_setbuffer (&priv->allpassR[3], allpasstuningR4 * srfactor); /* clear buffers */ freeverb_revmodel_init (filter); /* set default values */ freeverb_allpass_setfeedback (&priv->allpassL[0], 0.5f); freeverb_allpass_setfeedback (&priv->allpassR[0], 0.5f); freeverb_allpass_setfeedback (&priv->allpassL[1], 0.5f); freeverb_allpass_setfeedback (&priv->allpassR[1], 0.5f); freeverb_allpass_setfeedback (&priv->allpassL[2], 0.5f); freeverb_allpass_setfeedback (&priv->allpassR[2], 0.5f); freeverb_allpass_setfeedback (&priv->allpassL[3], 0.5f); freeverb_allpass_setfeedback (&priv->allpassR[3], 0.5f); }
static void gst_freeverb_init (GstFreeverb * filter, GstFreeverbClass * klass) { filter->priv = G_TYPE_INSTANCE_GET_PRIVATE (filter, GST_TYPE_FREEVERB, GstFreeverbPrivate); filter->width = 0; filter->channels = 0; filter->format_float = FALSE; filter->process = NULL; gst_base_transform_set_gap_aware (GST_BASE_TRANSFORM (filter), TRUE); freeverb_revmodel_init (filter); }