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;
: Evoral::ParameterDescriptor()
, key((uint32_t)-1)
, datatype(Variant::NOTHING)
+ , type(NullAutomation)
, unit(NONE)
, step(0)
, smallstep(0)
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. */
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));
}