Use format string even for units we understand (print Hz units).
authorDavid Robillard <d@drobilla.net>
Tue, 4 Nov 2014 01:52:14 +0000 (20:52 -0500)
committerDavid Robillard <d@drobilla.net>
Tue, 4 Nov 2014 01:52:14 +0000 (20:52 -0500)
libs/ardour/ardour/value_as_string.h
libs/ardour/lv2_plugin.cc

index 18e57c27e9e2d4c4b904d889d2c98d24a91e5c3b..c2f40fc8c413d76dcf0fad0efa2058d2ea99b4b1 100644 (file)
@@ -63,7 +63,7 @@ value_as_string(const ARDOUR::ParameterDescriptor& desc,
        } else {
                snprintf(buf, sizeof(buf), "%.3f", v);
        }
-       if (desc.unit == ARDOUR::ParameterDescriptor::DB) {
+       if (desc.print_fmt.empty() && desc.unit == ARDOUR::ParameterDescriptor::DB) {
                // TODO: Move proper dB printing from AutomationLine here
                return std::string(buf) + " dB";
        }
index 4affd89eaefc8b3cd114037b1070bcea5d95bd0a..d7a68fe3e7b330be8b1192d747e0caa12b084837 100644 (file)
@@ -1340,7 +1340,8 @@ load_parameter_descriptor_units(LilvWorld* lworld, ParameterDescriptor& desc, co
                desc.unit = ParameterDescriptor::DB;
        } else if (lilv_nodes_contains(units, _world.units_hz)) {
                desc.unit = ParameterDescriptor::HZ;
-       } else if (lilv_nodes_size(units) > 0) {
+       }
+       if (lilv_nodes_size(units) > 0) {
                const LilvNode* unit = lilv_nodes_get_first(units);
                LilvNode* render = get_value(lworld, unit, _world.units_render);
                if (render) {