From 060d0dc5dc5da6f5c200ff2c1ed65a34e8226ae4 Mon Sep 17 00:00:00 2001 From: Johannes Lorenz Date: Sun, 15 Nov 2020 17:27:06 +0100 Subject: [PATCH] Lv2Proc: Check def in [min,max] when creating port --- src/core/lv2/Lv2Proc.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/core/lv2/Lv2Proc.cpp b/src/core/lv2/Lv2Proc.cpp index fdc316606..e27ffaa9d 100644 --- a/src/core/lv2/Lv2Proc.cpp +++ b/src/core/lv2/Lv2Proc.cpp @@ -469,6 +469,16 @@ void Lv2Proc::createPort(std::size_t portNum) AutoLilvNode node(lilv_port_get_name(m_plugin, lilvPort)); QString dispName = lilv_node_as_string(node.get()); sample_rate_t sr = Engine::mixer()->processingSampleRate(); + if(meta.def() < meta.min(sr) || meta.def() > meta.max(sr)) + { + qWarning() << "Warning: Plugin" + << qStringFromPluginNode(m_plugin, lilv_plugin_get_name) + << "(URI:" + << lilv_node_as_uri(lilv_plugin_get_uri(m_plugin)) + << ") has a default value for port" + << dispName + << "which is not in range [min, max]."; + } switch (meta.m_vis) { case Lv2Ports::Vis::None: @@ -511,6 +521,7 @@ void Lv2Proc::createPort(std::size_t portNum) } lilv_scale_points_free(sps); ctrl->m_connectedModel.reset(comboModel); + // TODO: use default value on comboModel, too? break; } case Lv2Ports::Vis::Toggled: