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 172d2f157e1138ea00107d6bfc38d14ea32b7c2e
parent 7cbb636d0a3a714b94249ac8dd825528756b4fad
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Thu,  9 May 2024 14:33:54 +0200

move parameter value list to separate file

Diffstat:
Msource/jucePluginLib/CMakeLists.txt | 1+
Msource/jucePluginLib/parameterdescription.h | 27+++++----------------------
Asource/jucePluginLib/parametervaluelist.cpp | 19+++++++++++++++++++
Asource/jucePluginLib/parametervaluelist.h | 18++++++++++++++++++
4 files changed, 43 insertions(+), 22 deletions(-)

diff --git a/source/jucePluginLib/CMakeLists.txt b/source/jucePluginLib/CMakeLists.txt @@ -12,6 +12,7 @@ set(SOURCES parameterdescriptions.cpp parameterdescriptions.h parameterlink.cpp parameterlink.h parameterregion.cpp parameterregion.h + parametervaluelist.cpp parametervaluelist.h processor.cpp processor.h softknob.cpp softknob.h types.h diff --git a/source/jucePluginLib/parameterdescription.h b/source/jucePluginLib/parameterdescription.h @@ -1,33 +1,16 @@ #pragma once #include <cstdint> +#include <string> #include <functional> -#include <map> +#include <limits> + +#include "parametervaluelist.h" #include "juce_core/juce_core.h" namespace pluginLib { - struct ValueList - { - std::vector<std::string> texts; - std::map<std::string, uint32_t> textToValueMap; - - uint32_t textToValue(const std::string& _string) const - { - const auto it = textToValueMap.find(_string); - if (it != textToValueMap.end()) - return it->second; - return 0; - } - - const std::string& valueToText(const uint32_t _value) const - { - if (_value >= texts.size()) - return texts.back(); - return texts[_value]; - } - }; enum class ParameterClass { None = 0x00, @@ -35,6 +18,7 @@ namespace pluginLib MultiOrSingle = 0x02, NonPartSensitive = 0x04, }; + struct Description { static constexpr int NoDefaultValue = std::numeric_limits<int>::max(); @@ -57,7 +41,6 @@ namespace pluginLib std::string softKnobTargetList; bool isNonPartSensitive() const; - bool isSoftKnob() const; }; } diff --git a/source/jucePluginLib/parametervaluelist.cpp b/source/jucePluginLib/parametervaluelist.cpp @@ -0,0 +1,19 @@ +#include "parametervaluelist.h" + +namespace pluginLib +{ + uint32_t ValueList::textToValue(const std::string& _string) const + { + const auto it = textToValueMap.find(_string); + if (it != textToValueMap.end()) + return it->second; + return 0; + } + + const std::string& ValueList::valueToText(const uint32_t _value) const + { + if (_value >= texts.size()) + return texts.back(); + return texts[_value]; + } +} diff --git a/source/jucePluginLib/parametervaluelist.h b/source/jucePluginLib/parametervaluelist.h @@ -0,0 +1,18 @@ +#pragma once + +#include <cstdint> +#include <map> +#include <string> +#include <vector> + +namespace pluginLib +{ + struct ValueList + { + uint32_t textToValue(const std::string& _string) const; + const std::string& valueToText(const uint32_t _value) const; + + std::vector<std::string> texts; + std::map<std::string, uint32_t> textToValueMap; + }; +}