Replace half-baked param metadata with descriptor.
[ardour.git] / libs / ardour / lv2_plugin.cc
index d7a68fe3e7b330be8b1192d747e0caa12b084837..30bcef01e1433c9ccf19cc5487da7433d85bc16b 100644 (file)
@@ -1222,7 +1222,7 @@ static void
 forge_variant(LV2_Atom_Forge* forge, const Variant& value)
 {
        switch (value.type()) {
-       case Variant::VOID:
+       case Variant::NOTHING:
                break;
        case Variant::BOOL:
                lv2_atom_forge_bool(forge, value.get_bool());
@@ -1286,7 +1286,7 @@ LV2Plugin::set_property(uint32_t key, const Variant& value)
        if (_patch_port_in_index == (uint32_t)-1) {
                error << "LV2: set_property called with unset patch_port_in_index" << endmsg;
                return;
-       } else if (value.type() == Variant::VOID) {
+       } else if (value.type() == Variant::NOTHING) {
                error << "LV2: set_property called with void value" << endmsg;
                return;
        }
@@ -1616,6 +1616,7 @@ LV2Plugin::get_parameter_descriptor(uint32_t which, ParameterDescriptor& desc) c
        desc.logarithmic  = lilv_port_has_property(_impl->plugin, port, _world.ext_logarithmic);
        desc.sr_dependent = lilv_port_has_property(_impl->plugin, port, _world.lv2_sampleRate);
        desc.label        = lilv_node_as_string(lilv_port_get_name(_impl->plugin, port));
+       desc.normal       = def ? lilv_node_as_float(def) : 0.0f;
        desc.lower        = min ? lilv_node_as_float(min) : 0.0f;
        desc.upper        = max ? lilv_node_as_float(max) : 1.0f;
        load_parameter_descriptor_units(_world.world, desc, portunits);