summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/types.h10
-rw-r--r--libs/ardour/ardour/utils.h16
-rw-r--r--libs/ardour/enums.cc2
-rw-r--r--libs/ardour/utils.cc10
4 files changed, 27 insertions, 11 deletions
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index c41c599f1c..01f8e87c74 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -308,10 +308,12 @@ namespace ARDOUR {
MeterFalloffOff = 0,
MeterFalloffSlowest = 1,
MeterFalloffSlow = 2,
- MeterFalloffMedium = 3,
- MeterFalloffFast = 4,
- MeterFalloffFaster = 5,
- MeterFalloffFastest = 6
+ MeterFalloffSlowish = 3,
+ MeterFalloffModerate = 4,
+ MeterFalloffMedium = 5,
+ MeterFalloffFast = 6,
+ MeterFalloffFaster = 7,
+ MeterFalloffFastest = 8,
};
enum MeterHold {
diff --git a/libs/ardour/ardour/utils.h b/libs/ardour/ardour/utils.h
index 0aa4193394..bf91d4d57e 100644
--- a/libs/ardour/ardour/utils.h
+++ b/libs/ardour/ardour/utils.h
@@ -149,13 +149,15 @@ double slider_position_to_gain_with_max (double g, double max_gain = 2.0);
* These rates are db/sec.
*/
-#define METER_FALLOFF_OFF 0.0f
-#define METER_FALLOFF_SLOWEST 6.6f // BBC standard
-#define METER_FALLOFF_SLOW 8.6f // BBC standard
-#define METER_FALLOFF_MEDIUM 20.0f
-#define METER_FALLOFF_FAST 32.0f
-#define METER_FALLOFF_FASTER 46.0f
-#define METER_FALLOFF_FASTEST 70.0f
+#define METER_FALLOFF_OFF 0.0f
+#define METER_FALLOFF_SLOWEST 6.6f // BBC standard
+#define METER_FALLOFF_SLOW 8.6f // BBC standard, EBU 24dB / 2.8sec
+#define METER_FALLOFF_SLOWISH 12.0f // DIN 20dB / 1.7 sec
+#define METER_FALLOFF_MODERATE 13.3f // EBU-PPM, IRT PPM- 20dB / 1.5 sec
+#define METER_FALLOFF_MEDIUM 20.0f
+#define METER_FALLOFF_FAST 32.0f
+#define METER_FALLOFF_FASTER 46.0f
+#define METER_FALLOFF_FASTEST 70.0f
float meter_falloff_to_float (ARDOUR::MeterFalloff);
ARDOUR::MeterFalloff meter_falloff_from_float (float);
diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc
index 2bf8ded866..0509d4a2c8 100644
--- a/libs/ardour/enums.cc
+++ b/libs/ardour/enums.cc
@@ -194,6 +194,8 @@ setup_enum_writer ()
REGISTER_ENUM (MeterFalloffOff);
REGISTER_ENUM (MeterFalloffSlowest);
REGISTER_ENUM (MeterFalloffSlow);
+ REGISTER_ENUM (MeterFalloffSlowish);
+ REGISTER_ENUM (MeterFalloffModerate);
REGISTER_ENUM (MeterFalloffMedium);
REGISTER_ENUM (MeterFalloffFast);
REGISTER_ENUM (MeterFalloffFaster);
diff --git a/libs/ardour/utils.cc b/libs/ardour/utils.cc
index aedc78988f..e7b7648149 100644
--- a/libs/ardour/utils.cc
+++ b/libs/ardour/utils.cc
@@ -442,8 +442,12 @@ meter_falloff_to_float (MeterFalloff falloff)
return METER_FALLOFF_SLOWEST;
case MeterFalloffSlow:
return METER_FALLOFF_SLOW;
+ case MeterFalloffSlowish:
+ return METER_FALLOFF_SLOWISH;
case MeterFalloffMedium:
return METER_FALLOFF_MEDIUM;
+ case MeterFalloffModerate:
+ return METER_FALLOFF_MODERATE;
case MeterFalloffFast:
return METER_FALLOFF_FAST;
case MeterFalloffFaster:
@@ -467,6 +471,12 @@ meter_falloff_from_float (float val)
else if (val <= METER_FALLOFF_SLOW) {
return MeterFalloffSlow;
}
+ else if (val <= METER_FALLOFF_SLOWISH) {
+ return MeterFalloffSlowish;
+ }
+ else if (val <= METER_FALLOFF_MODERATE) {
+ return MeterFalloffModerate;
+ }
else if (val <= METER_FALLOFF_MEDIUM) {
return MeterFalloffMedium;
}