summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfalkTX <falktx@gmail.com>2018-08-04 10:01:02 +0200
committerfalkTX <falktx@gmail.com>2018-08-04 10:01:02 +0200
commit9dc2c376e5adde08e470f20e84a49638576cea83 (patch)
tree9f0e94dccd90e2cd8db9f02ce7a1a894384813e9
parent4908bf4dc9277ce9002853b37c0b866c0ab76dd6 (diff)
Add convenience internal isParameterInput, and use it
-rw-r--r--distrho/src/DistrhoPluginInternal.hpp7
-rw-r--r--distrho/src/DistrhoPluginLADSPA+DSSI.cpp2
-rw-r--r--distrho/src/DistrhoPluginLV2.cpp2
-rw-r--r--distrho/src/DistrhoPluginLV2export.cpp8
-rw-r--r--distrho/src/DistrhoPluginVST.cpp2
5 files changed, 13 insertions, 8 deletions
diff --git a/distrho/src/DistrhoPluginInternal.hpp b/distrho/src/DistrhoPluginInternal.hpp
index 6e40a258..785bfbd6 100644
--- a/distrho/src/DistrhoPluginInternal.hpp
+++ b/distrho/src/DistrhoPluginInternal.hpp
@@ -346,9 +346,14 @@ public:
return fData->parameters[index].designation;
}
+ bool isParameterInput(const uint32_t index) const noexcept
+ {
+ return (getParameterHints(index) & kParameterIsOutput) == 0x0;
+ }
+
bool isParameterOutput(const uint32_t index) const noexcept
{
- return (getParameterHints(index) & kParameterIsOutput);
+ return (getParameterHints(index) & kParameterIsOutput) != 0x0;
}
const String& getParameterName(const uint32_t index) const noexcept
diff --git a/distrho/src/DistrhoPluginLADSPA+DSSI.cpp b/distrho/src/DistrhoPluginLADSPA+DSSI.cpp
index 34b93fbe..b370da80 100644
--- a/distrho/src/DistrhoPluginLADSPA+DSSI.cpp
+++ b/distrho/src/DistrhoPluginLADSPA+DSSI.cpp
@@ -187,7 +187,7 @@ public:
curValue = *fPortControls[i];
- if (d_isNotEqual(fLastControlValues[i], curValue) && ! fPlugin.isParameterOutput(i))
+ if (fPlugin.isParameterInput(i) && d_isNotEqual(fLastControlValues[i], curValue))
{
fLastControlValues[i] = curValue;
fPlugin.setParameterValue(i, curValue);
diff --git a/distrho/src/DistrhoPluginLV2.cpp b/distrho/src/DistrhoPluginLV2.cpp
index 5e516932..6eb8be9e 100644
--- a/distrho/src/DistrhoPluginLV2.cpp
+++ b/distrho/src/DistrhoPluginLV2.cpp
@@ -519,7 +519,7 @@ public:
curValue = *fPortControls[i];
- if (d_isNotEqual(fLastControlValues[i], curValue) && ! fPlugin.isParameterOutput(i))
+ if (fPlugin.isParameterInput(i) && d_isNotEqual(fLastControlValues[i], curValue))
{
fLastControlValues[i] = curValue;
diff --git a/distrho/src/DistrhoPluginLV2export.cpp b/distrho/src/DistrhoPluginLV2export.cpp
index 2d001731..6ed2f7c5 100644
--- a/distrho/src/DistrhoPluginLV2export.cpp
+++ b/distrho/src/DistrhoPluginLV2export.cpp
@@ -399,7 +399,7 @@ void lv2_generate_ttl(const char* const basename)
bool designated = false;
// designation
- if (! plugin.isParameterOutput(i))
+ if (plugin.isParameterInput(i))
{
switch (plugin.getParameterDesignation(i))
{
@@ -435,14 +435,14 @@ void lv2_generate_ttl(const char* const basename)
if (plugin.getParameterHints(i) & kParameterIsInteger)
{
- if (! plugin.isParameterOutput(i))
+ if (plugin.isParameterInput(i))
pluginString += " lv2:default " + String(int(plugin.getParameterValue(i))) + " ;\n";
pluginString += " lv2:minimum " + String(int(ranges.min)) + " ;\n";
pluginString += " lv2:maximum " + String(int(ranges.max)) + " ;\n";
}
else
{
- if (! plugin.isParameterOutput(i))
+ if (plugin.isParameterInput(i))
pluginString += " lv2:default " + String(plugin.getParameterValue(i)) + " ;\n";
pluginString += " lv2:minimum " + String(ranges.min) + " ;\n";
pluginString += " lv2:maximum " + String(ranges.max) + " ;\n";
@@ -531,7 +531,7 @@ void lv2_generate_ttl(const char* const basename)
pluginString += " lv2:portProperty lv2:integer ;\n";
if (hints & kParameterIsLogarithmic)
pluginString += " lv2:portProperty <" LV2_PORT_PROPS__logarithmic "> ;\n";
- if ((hints & kParameterIsAutomable) == 0 && ! plugin.isParameterOutput(i))
+ if ((hints & kParameterIsAutomable) == 0 && plugin.isParameterInput(i))
{
pluginString += " lv2:portProperty <" LV2_PORT_PROPS__expensive "> ,\n";
pluginString += " <" LV2_KXSTUDIO_PROPERTIES__NonAutomable "> ;\n";
diff --git a/distrho/src/DistrhoPluginVST.cpp b/distrho/src/DistrhoPluginVST.cpp
index c7a39557..e384c4c4 100644
--- a/distrho/src/DistrhoPluginVST.cpp
+++ b/distrho/src/DistrhoPluginVST.cpp
@@ -1331,7 +1331,7 @@ const AEffect* VSTPluginMain(audioMasterCallback audioMaster)
for (uint32_t i=0, count=plugin->getParameterCount(); i < count; ++i)
{
- if (! plugin->isParameterOutput(i))
+ if (plugin->isParameterInput(i))
{
// parameter outputs must be all at the end
DISTRHO_SAFE_ASSERT_BREAK(! outputsReached);