gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

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:
Msource/jucePluginLib/parameterdescriptions.cpp | 90-------------------------------------------------------------------------------
Msource/jucePluginLib/parameterdescriptions.h | 3---
Msource/osirusJucePlugin/parameterDescriptions_C.json | 10----------
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":