ensure that each and every audioengine-related thread has a unique name
[ardour.git] / libs / ardour / parameter_descriptor.cc
index 619150071612f4155600d42a1b64032b96f0c06d..56d39902c0603496a7d8b8204621201e5411d9d3 100644 (file)
@@ -48,6 +48,11 @@ ParameterDescriptor::ParameterDescriptor(const Evoral::Parameter& parameter)
                upper  = Config->get_max_gain();
                normal = 1.0f;
                break;
+       case TrimAutomation:
+               upper  = 10; // +20dB
+               lower  = .1; // -20dB
+               normal = 1.0f;
+               break;
        case PanAzimuthAutomation:
                normal = 0.5f; // there really is no _normal but this works for stereo, sort of
                upper  = 1.0f;
@@ -98,6 +103,7 @@ ParameterDescriptor::ParameterDescriptor()
        : Evoral::ParameterDescriptor()
        , key((uint32_t)-1)
        , datatype(Variant::NOTHING)
+       , type(NullAutomation)
        , unit(NONE)
        , step(0)
        , smallstep(0)
@@ -116,7 +122,7 @@ ParameterDescriptor::update_steps()
        if (unit == ParameterDescriptor::MIDI_NOTE) {
                step      = smallstep = 1;  // semitone
                largestep = 12;             // octave
-       } else if (type == GainAutomation) {
+       } else if (type == GainAutomation || type == TrimAutomation) {
                /* dB_coeff_step gives a step normalized for [0, max_gain].  This is
                   like "slider position", so we convert from "slider position" to gain
                   to have the correct unit here. */
@@ -144,7 +150,7 @@ ParameterDescriptor::update_steps()
                        step      = step      / logf(30.0f);
                        largestep = largestep / logf(30.0f);
                } else if (integer_step) {
-                       smallstep = std::max(1.0, rint(smallstep));
+                       smallstep = 1.0;
                        step      = std::max(1.0, rint(step));
                        largestep = std::max(1.0, rint(largestep));
                }