Tempo ramps - no more tempo dilation on meter drag.
[ardour.git] / libs / vamp-plugins / EBUr128.cpp
index 1a3b9a401c50eba48485efe4fbc28bf2f6e109e1..c84d9df1d5fc7197a41d29b12af9076033472d05 100644 (file)
@@ -111,7 +111,7 @@ VampEBUr128::getOutputDescriptors() const
     OutputDescriptor zc;
     zc.identifier = "loundless";
     zc.name = "Integrated loudness";
-    zc.description = "Integrated loudness";
+    zc.description = "Integrated Loudness";
     zc.unit = "LUFS";
     zc.hasFixedBinCount = true;
     zc.binCount = 0;
@@ -121,8 +121,8 @@ VampEBUr128::getOutputDescriptors() const
     list.push_back(zc);
 
     zc.identifier = "range";
-    zc.name = "Integrated loudness Range";
-    zc.description = "Dynamic Range of the audio";
+    zc.name = "Integrated Loudness Range";
+    zc.description = "Dynamic Range of the Audio";
     zc.unit = "LU";
     zc.hasFixedBinCount = true;
     zc.binCount = 0;
@@ -131,6 +131,17 @@ VampEBUr128::getOutputDescriptors() const
     zc.sampleType = OutputDescriptor::OneSamplePerStep;
     list.push_back(zc);
 
+    zc.identifier = "histogram";
+    zc.name = "Loudness Histogram";
+    zc.description = "Dynamic Range of the audio";
+    zc.unit = "";
+    zc.hasFixedBinCount = false;
+    zc.binCount = 0;
+    zc.hasKnownExtents = false;
+    zc.isQuantized = false;
+    zc.sampleType = OutputDescriptor::OneSamplePerStep;
+    list.push_back(zc);
+
     return list;
 }
 
@@ -166,5 +177,13 @@ VampEBUr128::getRemainingFeatures()
     range.values.push_back(ebu.range_max () - ebu.range_min ());
     returnFeatures[1].push_back(range);
 
+    Feature hist;
+    hist.hasTimestamp = false;
+    const int * hist_S = ebu.histogram_S();
+    for (int i = 110; i < 650; ++i) {
+       hist.values.push_back(hist_S[i]);
+    }
+    returnFeatures[2].push_back(hist);
+
     return returnFeatures;
 }