commit f0ac202577d50f624f54a48cbf7017929552ea2d
parent a3dc3cdf59ee9e80b5c2a524e8d9fb8ddbdb4025
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Fri, 31 May 2024 17:23:49 +0200
remove obsolete parameter links
Diffstat:
3 files changed, 0 insertions(+), 103 deletions(-)
diff --git a/source/jucePluginLib/parameterdescriptions.cpp b/source/jucePluginLib/parameterdescriptions.cpp
@@ -390,9 +390,6 @@ namespace pluginLib
const auto midipackets = json["midipackets"].getDynamicObject();
parseMidiPackets(errors, midipackets);
- const auto parameterLinks = json["parameterlinks"].getArray();
- parseParameterLinks(errors, parameterLinks);
-
const auto regions = json["regions"].getArray();
parseParameterRegions(errors, regions);
@@ -671,93 +668,6 @@ namespace pluginLib
m_midiPackets.insert(std::make_pair(_key, packet));
}
- void ParameterDescriptions::parseParameterLinks(std::stringstream& _errors, const juce::Array<juce::var>* _links)
- {
- if(!_links)
- return;
-
- for(int i=0; i<_links->size(); ++i)
- {
- const auto& value = (*_links)[i];
- parseParameterLink(_errors, value);
- }
- }
-
- void ParameterDescriptions::parseParameterLink(std::stringstream& _errors, const juce::var& _value)
- {
- const auto source = _value["source"].toString().toStdString();
- const auto dest = _value["dest"].toString().toStdString();
- const auto conditionParam = _value["conditionParameter"].toString().toStdString();
- const auto conditionValues = _value["conditionValues"].getArray();
- const auto linkType = _value["link"].toString().toStdString();
-
- ParameterLink link;
-
- if(!getIndexByName(link.source, source))
- {
- _errors << "Source parameter " << source << " not found for parameter link" << std::endl;
- return;
- }
-
- if(!getIndexByName(link.dest, dest))
- {
- _errors << "Destination parameter " << dest << " not found for parameter link" << std::endl;
- return;
- }
-
- if(link.source == link.dest)
- {
- _errors << "Cannot link source parameter " << source << " to itself" << std::endl;
- return;
- }
-
- if(linkType == "relative")
- {
- link.mode = ParameterLink::LinkMode::Relative;
- }
- else if(linkType == "absolute")
- {
- link.mode = ParameterLink::LinkMode::Absolute;
- }
- else
- {
- _errors << "Parameter link mode " << linkType << " is not a value value, must be either relative or absolute" << std::endl;
- return;
- }
-
- if(conditionParam.empty())
- {
- if(conditionValues && conditionValues->size() > 1)
- {
- _errors << "Condition parameter not specified for conditional parameter link of " << source << " to " << dest << ". Either specify no condition parameter and no values, or specify both" << std::endl;
- return;
- }
- }
-
- if(!conditionParam.empty())
- {
- if(conditionValues == nullptr || conditionValues->isEmpty())
- {
- _errors << "Condition parameter list is empty or invalid although the condition parameter " << conditionParam << " has been specified for parameter link of " << source << " to " << dest << ". Either specify no condition parameter and no values, or specify both" << std::endl;
- return;
- }
-
- if(!getIndexByName(link.conditionParameter, conditionParam))
- {
- _errors << "Link condition parameter " << conditionParam << " not found for parameter link" << std::endl;
- return;
- }
-
- for(auto i=0; i<conditionValues->size(); ++i)
- {
- const int v = (*conditionValues)[i];
- link.conditionValues.insert(static_cast<uint8_t>(v));
- }
- }
-
- m_parameterLinks.push_back(link);
- }
-
void ParameterDescriptions::parseParameterRegions(std::stringstream& _errors, const juce::Array<juce::var>* _regions)
{
if(!_regions)
diff --git a/source/jucePluginLib/parameterdescriptions.h b/source/jucePluginLib/parameterdescriptions.h
@@ -57,9 +57,6 @@ namespace pluginLib
void parseMidiPackets(std::stringstream& _errors, juce::DynamicObject* _packets);
void parseMidiPacket(std::stringstream& _errors, const std::string& _key, const juce::var& _value);
- void parseParameterLinks(std::stringstream& _errors, const juce::Array<juce::var>* _links);
- void parseParameterLink(std::stringstream& _errors, const juce::var& _value);
-
void parseParameterRegions(std::stringstream& _errors, const juce::Array<juce::var>* _regions);
void parseParameterRegion(std::stringstream& _errors, const juce::var& _value);
diff --git a/source/osirusJucePlugin/parameterDescriptions_C.json b/source/osirusJucePlugin/parameterDescriptions_C.json
@@ -493,16 +493,6 @@
"regions":["assignA", "assignB", "assignC", "assignD", "assignE", "assignF"]
}
],
- "parameterlinks":
- [
- {
- "source": "Cutoff",
- "dest": "Cutoff2",
- "conditionParameter": "Filter2 Cutoff Link",
- "conditionValues": [1],
- "link": "relative"
- }
- ],
"valuelists":
{
"unsignedZero":