static void gst_lv2_process (GstSignalProcessor * gsp, guint nframes) { #if 0 GstSignalProcessorClass *gsp_class; GstLV2 *ladspa; GstLV2Class *oclass; LV2_Descriptor *desc; guint i; gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (gsp); ladspa = (GstLV2 *) gsp; oclass = (GstLV2Class *) gsp_class; desc = ladspa->descriptor; for (i = 0; i < gsp_class->num_audio_in; i++) desc->connect_port (ladspa->handle, oclass->audio_in_portnums[i], gsp->audio_in[i]); for (i = 0; i < gsp_class->num_audio_out; i++) desc->connect_port (ladspa->handle, oclass->audio_out_portnums[i], gsp->audio_out[i]); desc->run (ladspa->handle, nframes); #endif }
static gboolean gst_lv2_setup (GstSignalProcessor * gsp, guint sample_rate) { #if 0 GstLV2 *ladspa; GstLV2Class *oclass; GstSignalProcessorClass *gsp_class; LV2_Descriptor *desc; int i; gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (gsp); ladspa = (GstLV2 *) gsp; oclass = (GstLV2Class *) gsp_class; desc = ladspa->descriptor; g_return_val_if_fail (ladspa->handle == NULL, FALSE); g_return_val_if_fail (ladspa->activated == FALSE, FALSE); GST_DEBUG_OBJECT (ladspa, "instantiating the plugin at %d Hz", sample_rate); ladspa->handle = desc->instantiate (desc, sample_rate); g_return_val_if_fail (ladspa->handle != NULL, FALSE); /* connect the control ports */ for (i = 0; i < gsp_class->num_control_in; i++) desc->connect_port (ladspa->handle, oclass->control_in_portnums[i], &(gsp->control_in[i])); for (i = 0; i < gsp_class->num_control_out; i++) desc->connect_port (ladspa->handle, oclass->control_out_portnums[i], &(gsp->control_out[i])); #endif return TRUE; }
static void gst_lv2_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { #if 0 GstSignalProcessor *gsp; GstSignalProcessorClass *gsp_class; gsp = GST_SIGNAL_PROCESSOR (object); gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (object); /* remember, properties have an offset of 1 */ prop_id--; /* only input ports */ g_return_if_fail (prop_id < gsp_class->num_control_in); /* now see what type it is */ switch (pspec->value_type) { case G_TYPE_BOOLEAN: gsp->control_in[prop_id] = g_value_get_boolean (value) ? 1.f : 0.f; break; case G_TYPE_INT: gsp->control_in[prop_id] = g_value_get_int (value); break; case G_TYPE_FLOAT: gsp->control_in[prop_id] = g_value_get_float (value); break; default: g_assert_not_reached (); } #endif }
static void gst_lv2_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec) { #if 0 GstSignalProcessor *gsp; GstSignalProcessorClass *gsp_class; gfloat *controls; gsp = GST_SIGNAL_PROCESSOR (object); gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (object); /* remember, properties have an offset of 1 */ prop_id--; if (prop_id < gsp_class->num_control_in) { controls = gsp->control_in; } else if (prop_id < gsp_class->num_control_in + gsp_class->num_control_out) { controls = gsp->control_out; prop_id -= gsp_class->num_control_in; } else { g_return_if_reached (); } /* now see what type it is */ switch (pspec->value_type) { case G_TYPE_BOOLEAN: g_value_set_boolean (value, controls[prop_id] > 0.5); break; case G_TYPE_INT: g_value_set_int (value, CLAMP (controls[prop_id], G_MININT, G_MAXINT)); break; case G_TYPE_FLOAT: g_value_set_float (value, controls[prop_id]); break; default: g_return_if_reached (); } #endif }
static gboolean gst_ladspa_setup (GstSignalProcessor * gsp, GstCaps * caps) { GstLADSPA *ladspa; GstLADSPAClass *oclass; GstSignalProcessorClass *gsp_class; LADSPA_Descriptor *desc; gint i; gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (gsp); ladspa = (GstLADSPA *) gsp; oclass = (GstLADSPAClass *) gsp_class; desc = ladspa->descriptor; g_return_val_if_fail (ladspa->handle == NULL, FALSE); g_return_val_if_fail (ladspa->activated == FALSE, FALSE); GST_DEBUG_OBJECT (ladspa, "instantiating the plugin at %d Hz", gsp->sample_rate); if (!(ladspa->handle = desc->instantiate (desc, gsp->sample_rate))) goto no_instance; /* connect the control ports */ for (i = 0; i < gsp_class->num_control_in; i++) desc->connect_port (ladspa->handle, oclass->control_in_portnums[i], &(gsp->control_in[i])); for (i = 0; i < gsp_class->num_control_out; i++) desc->connect_port (ladspa->handle, oclass->control_out_portnums[i], &(gsp->control_out[i])); return TRUE; no_instance: { GST_WARNING_OBJECT (gsp, "could not create instance"); return FALSE; } }