diff src/MatchVampPlugin.cpp @ 177:937951e66c5b refactors

Add parameters for min & max frequency
author Chris Cannam
date Fri, 13 Feb 2015 15:27:34 +0000
parents e0dc4675059c
children d1bc89794cd4
line wrap: on
line diff
--- a/src/MatchVampPlugin.cpp	Fri Feb 13 15:18:47 2015 +0000
+++ b/src/MatchVampPlugin.cpp	Fri Feb 13 15:27:34 2015 +0000
@@ -167,6 +167,26 @@
     desc.unit = "Hz";
     list.push_back(desc);
 
+    desc.identifier = "minfreq";
+    desc.name = "Minimum frequency";
+    desc.description = "Minimum frequency to include in features.";
+    desc.minValue = 0.0;
+    desc.maxValue = (float)m_inputSampleRate / 4.f;
+    desc.defaultValue = (float)m_defaultFeParams.minFrequency;
+    desc.isQuantized = false;
+    desc.unit = "Hz";
+    list.push_back(desc);
+
+    desc.identifier = "maxfreq";
+    desc.name = "Maximum frequency";
+    desc.description = "Maximum frequency to include in features.";
+    desc.minValue = 1000.0;
+    desc.maxValue = (float)m_inputSampleRate / 2.f;
+    desc.defaultValue = (float)m_defaultFeParams.maxFrequency;
+    desc.isQuantized = false;
+    desc.unit = "Hz";
+    list.push_back(desc);
+    
     desc.unit = "";
     
     desc.identifier = "usechroma";
@@ -345,6 +365,10 @@
         return (float)m_feParams.referenceFrequency;
     } else if (name == "freq2") {
         return (float)m_secondReferenceFrequency;
+    } else if (name == "minfreq") {
+        return (float)m_feParams.minFrequency;
+    } else if (name == "maxfreq") {
+        return (float)m_feParams.maxFrequency;
     }
     
     return 0.0;
@@ -381,6 +405,10 @@
         m_feParams.referenceFrequency = value;
     } else if (name == "freq2") {
         m_secondReferenceFrequency = value;
+    } else if (name == "minfreq") {
+        m_feParams.minFrequency = value;
+    } else if (name == "maxfreq") {
+        m_feParams.maxFrequency = value;
     }
 }