diff options
author | Stefan Kost <ensonic@users.sf.net> | 2010-01-31 22:14:04 +0200 |
---|---|---|
committer | Stefan Kost <ensonic@users.sf.net> | 2010-01-31 22:25:51 +0200 |
commit | b3ac421b96eacbd13c74c64f446247a3d553f4b5 (patch) | |
tree | 6c0b2ca06d7daaa6ae28fe5caa14004666edb549 | |
parent | 792c181edc1eebb4b452c776fd176d6a4a6983b7 (diff) |
ladspa: simplify property registration
Don't do checking cast for each parameter. Use a running index.
-rw-r--r-- | ext/ladspa/gstladspa.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/ext/ladspa/gstladspa.c b/ext/ladspa/gstladspa.c index d9bea1830..e6dd148b5 100644 --- a/ext/ladspa/gstladspa.c +++ b/ext/ladspa/gstladspa.c @@ -433,13 +433,14 @@ gst_ladspa_class_get_param_spec (GstLADSPAClass * klass, gint portnum) static void gst_ladspa_class_init (GstLADSPAClass * klass, LADSPA_Descriptor * desc) { GObjectClass *gobject_class; GstSignalProcessorClass *gsp_class; - gint i; + GParamSpec *p; + gint i, ix; GST_DEBUG ("class_init %p", klass); gobject_class = (GObjectClass *) klass; gobject_class->set_property = gst_ladspa_set_property; gobject_class->get_property = gst_ladspa_get_property; @@ -448,31 +449,25 @@ gst_ladspa_class_init (GstLADSPAClass * klass, LADSPA_Descriptor * desc) gsp_class->setup = gst_ladspa_setup; gsp_class->start = gst_ladspa_start; gsp_class->stop = gst_ladspa_stop; gsp_class->cleanup = gst_ladspa_cleanup; gsp_class->process = gst_ladspa_process; - /* register properties */ + /* properties have an offset of 1 */ + ix = 1; - for (i = 0; i < gsp_class->num_control_in; i++) { - GParamSpec *p; + /* register properties */ + for (i = 0; i < gsp_class->num_control_in; i++, ix++) { p = gst_ladspa_class_get_param_spec (klass, klass->control_in_portnums[i]); - - /* properties have an offset of 1 */ - g_object_class_install_property (G_OBJECT_CLASS (klass), i + 1, p); + g_object_class_install_property (gobject_class, ix, p); } - for (i = 0; i < gsp_class->num_control_out; i++) { - GParamSpec *p; - + for (i = 0; i < gsp_class->num_control_out; i++, ix++) { p = gst_ladspa_class_get_param_spec (klass, klass->control_out_portnums[i]); - - /* properties have an offset of 1, and we already added num_control_in */ - g_object_class_install_property (G_OBJECT_CLASS (klass), - gsp_class->num_control_in + i + 1, p); + g_object_class_install_property (gobject_class, ix, p); } } static void gst_ladspa_init (GstLADSPA * ladspa, GstLADSPAClass * klass) { |