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 | |||
@@ -436,7 +436,8 @@ gst_ladspa_class_init (GstLADSPAClass * klass, LADSPA_Descriptor * desc) | |||
436 | { | 436 | { |
437 | GObjectClass *gobject_class; | 437 | GObjectClass *gobject_class; |
438 | GstSignalProcessorClass *gsp_class; | 438 | GstSignalProcessorClass *gsp_class; |
439 | gint i; | 439 | GParamSpec *p; |
440 | gint i, ix; | ||
440 | 441 | ||
441 | GST_DEBUG ("class_init %p", klass); | 442 | GST_DEBUG ("class_init %p", klass); |
442 | 443 | ||
@@ -451,25 +452,19 @@ gst_ladspa_class_init (GstLADSPAClass * klass, LADSPA_Descriptor * desc) | |||
451 | gsp_class->cleanup = gst_ladspa_cleanup; | 452 | gsp_class->cleanup = gst_ladspa_cleanup; |
452 | gsp_class->process = gst_ladspa_process; | 453 | gsp_class->process = gst_ladspa_process; |
453 | 454 | ||
454 | /* register properties */ | 455 | /* properties have an offset of 1 */ |
456 | ix = 1; | ||
455 | 457 | ||
456 | for (i = 0; i < gsp_class->num_control_in; i++) { | 458 | /* register properties */ |
457 | GParamSpec *p; | ||
458 | 459 | ||
460 | for (i = 0; i < gsp_class->num_control_in; i++, ix++) { | ||
459 | p = gst_ladspa_class_get_param_spec (klass, klass->control_in_portnums[i]); | 461 | p = gst_ladspa_class_get_param_spec (klass, klass->control_in_portnums[i]); |
460 | 462 | g_object_class_install_property (gobject_class, ix, p); | |
461 | /* properties have an offset of 1 */ | ||
462 | g_object_class_install_property (G_OBJECT_CLASS (klass), i + 1, p); | ||
463 | } | 463 | } |
464 | 464 | ||
465 | for (i = 0; i < gsp_class->num_control_out; i++) { | 465 | for (i = 0; i < gsp_class->num_control_out; i++, ix++) { |
466 | GParamSpec *p; | ||
467 | |||
468 | p = gst_ladspa_class_get_param_spec (klass, klass->control_out_portnums[i]); | 466 | p = gst_ladspa_class_get_param_spec (klass, klass->control_out_portnums[i]); |
469 | 467 | g_object_class_install_property (gobject_class, ix, p); | |
470 | /* properties have an offset of 1, and we already added num_control_in */ | ||
471 | g_object_class_install_property (G_OBJECT_CLASS (klass), | ||
472 | gsp_class->num_control_in + i + 1, p); | ||
473 | } | 468 | } |
474 | } | 469 | } |
475 | 470 | ||