+boost::shared_ptr<ScalePoints>
+LadspaPlugin::get_scale_points(uint32_t port_index) const
+{
+ boost::shared_ptr<ScalePoints> ret;
+#ifdef HAVE_LRDF
+ const uint32_t id = atol(unique_id().c_str());
+ lrdf_defaults* points = lrdf_get_scale_values(id, port_index);
+
+ if (!points) {
+ return ret;
+ }
+
+ ret = boost::shared_ptr<ScalePoints>(new ScalePoints());
+
+ for (uint32_t i = 0; i < points->count; ++i) {
+ ret->insert(make_pair(points->items[i].label,
+ points->items[i].value));
+ }
+
+ lrdf_free_setting_values(points);
+#endif
+ return ret;
+}
+