commit fe7b765ff72472a138467b536bf010c8d378af64
parent d12cb6a765faef2c70e30ed7d9fd0d4ffbf9878c
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Wed, 29 May 2024 23:18:38 +0200
helper funcs to return all region ids for a parameter
Diffstat:
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/source/jucePluginLib/controller.cpp b/source/jucePluginLib/controller.cpp
@@ -532,6 +532,26 @@ namespace pluginLib
return false;
}
+ std::set<std::string> Controller::getRegionIdsForParameter(const Parameter* _param) const
+ {
+ if(!_param)
+ return {};
+ return getRegionIdsForParameter(_param->getDescription().name);
+ }
+
+ std::set<std::string> Controller::getRegionIdsForParameter(const std::string& _name) const
+ {
+ const auto& regions = getParameterDescriptions().getRegions();
+
+ std::set<std::string> result;
+ for (const auto& region : regions)
+ {
+ if(region.second.containsParameter(_name))
+ result.insert(region.first);
+ }
+ return result;
+ }
+
Parameter* Controller::createParameter(Controller& _controller, const Description& _desc, uint8_t _part, int _uid)
{
return new Parameter(_controller, _desc, _part, _uid);
diff --git a/source/jucePluginLib/controller.h b/source/jucePluginLib/controller.h
@@ -73,6 +73,9 @@ namespace pluginLib
std::unordered_set<std::string> getLockedParameterNames() const;
std::unordered_set<const Parameter*> getLockedParameters(uint8_t _part) const;
bool isParameterLocked(const std::string& _name) const;
+ std::set<std::string> getRegionIdsForParameter(const Parameter* _param) const;
+ std::set<std::string> getRegionIdsForParameter(const std::string& _name) const;
+
const ParameterDescriptions& getParameterDescriptions() const { return m_descriptions; }
const SoftKnob* getSoftknob(const Parameter* _parameter) const