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:
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;
+ };
+}