TooB Parametric EQ UI

This commit is contained in:
Robin E. R. Davies
2025-09-01 15:59:29 -04:00
parent 865ac45bda
commit 5434f40ca1
27 changed files with 1375 additions and 132 deletions
+1 -1
View File
@@ -1769,7 +1769,7 @@ public:
std::lock_guard guard(mutex);
this->currentPedalboard = pedalboard;
if (active)
if (active && pedalboard)
{
pedalboard->Activate();
this->activePedalboards.push_back(pedalboard);
+5
View File
@@ -2040,6 +2040,11 @@ void PiPedalModel::UpdateDefaults(PedalboardItem *pedalboardItem, std::unordered
// calibration is OFF when upgrading.
pedalboardItem->SetControlValue("inputCalibrationMode",0.0f);
}
pValue = pedalboardItem->GetControlValue("version");
if (pValue == nullptr)
{
pedalboardItem->SetControlValue("version",0.0f);
}
}
+16 -1
View File
@@ -127,6 +127,7 @@ void PluginHost::LilvUris::Initialize(LilvWorld *pWorld)
core__designation = lilv_new_uri(pWorld, LV2_CORE__designation);
portgroups__group = lilv_new_uri(pWorld, LV2_PORT_GROUPS__group);
units__unit = lilv_new_uri(pWorld, LV2_UNITS__unit);
units__render = lilv_new_uri(pWorld, LV2_UNITS__render);
invada_units__unit = lilv_new_uri(pWorld, "http://lv2plug.in/ns/extension/units#unit"); // a typo in invada plugin ttl files.
invada_portprops__logarithmic = lilv_new_uri(pWorld, "http://lv2plug.in/ns/dev/extportinfo#logarithmic"); // a typo in invada plugin ttl files.
@@ -1235,6 +1236,19 @@ Lv2PortInfo::Lv2PortInfo(PluginHost *host, const LilvPlugin *plugin, const LilvP
if (unitsValueUri)
{
this->units_ = UriToUnits(nodeAsString(unitsValueUri));
if (this->units_ == Units::unknown) {
// try for a custom format string.
AutoLilvNode render = lilv_world_get(
pWorld,
unitsValueUri,
host->lilvUris->units__render,
nullptr);
if (render) {
const char*strRender = lilv_node_as_string(render);
custom_units_ = strRender;
}
}
}
else
{
@@ -1964,6 +1978,7 @@ json_map::storage_type<Lv2PortInfo> Lv2PortInfo::jmap{
MAP_REF(Lv2PortInfo, pipedal_ledColor),
json_map::enum_reference("units", &Lv2PortInfo::units_, get_units_enum_converter()),
MAP_REF(Lv2PortInfo, custom_units),
MAP_REF(Lv2PortInfo, comment)}};
json_map::storage_type<Lv2PortGroup> Lv2PortGroup::jmap{{
@@ -2041,10 +2056,10 @@ json_map::storage_type<Lv2PluginUiPort> Lv2PluginUiPort::jmap{{
MAP_REF(Lv2PluginUiPort, pipedal_ledColor),
json_map::enum_reference("units", &Lv2PluginUiPort::units_, get_units_enum_converter()),
MAP_REF(Lv2PluginUiPort, custom_units),
MAP_REF(Lv2PluginUiPort, comment),
MAP_REF(Lv2PluginUiPort, is_bypass),
MAP_REF(Lv2PluginUiPort, is_program_controller),
MAP_REF(Lv2PluginUiPort, custom_units),
MAP_REF(Lv2PluginUiPort, connection_optional),
}};
+5 -1
View File
@@ -233,6 +233,7 @@ namespace pipedal
std::string designation_;
bool is_bypass_ = false;
Units units_ = Units::none;
std::string custom_units_;
std::string comment_;
PiPedalUI::ptr piPedalUI_;
@@ -307,6 +308,7 @@ namespace pipedal
LV2_PROPERTY_GETSET(port_group);
LV2_PROPERTY_GETSET(comment);
LV2_PROPERTY_GETSET_SCALAR(units);
LV2_PROPERTY_GETSET(custom_units);
LV2_PROPERTY_GETSET(pipedal_ledColor);
LV2_PROPERTY_GETSET(buffer_type);
@@ -574,6 +576,7 @@ namespace pipedal
trigger_property_(pPort->trigger_property()),
pipedal_ledColor_(pPort->pipedal_ledColor()),
comment_(pPort->comment()), units_(pPort->units()),
custom_units_(pPort->custom_units()),
connection_optional_(pPort->connection_optional())
{
// Use symbols to index port groups, instead of uris.
@@ -626,10 +629,10 @@ namespace pipedal
std::string pipedal_ledColor_;
Units units_ = Units::none;
std::string custom_units_;
std::string comment_;
bool is_bypass_ = false;
bool is_program_controller_ = false;
std::string custom_units_;
bool connection_optional_ = false;
public:
@@ -768,6 +771,7 @@ namespace pipedal
AutoLilvNode core__designation;
AutoLilvNode portgroups__group;
AutoLilvNode units__unit;
AutoLilvNode units__render;
AutoLilvNode invada_units__unit; // typo in invada plugins.
AutoLilvNode invada_portprops__logarithmic; // typo in invada plugins.