comparison base/AudioLevel.cpp @ 1487:71202259002d

Round the zero-point value -- won't make a difference for longer fader widgets, but it's convenient for the level-pan widget when we have 0-10 and want zero at 8 rather than 7
author Chris Cannam
date Mon, 25 Jun 2018 14:12:27 +0100
parents 48e9f538e6e9
children 3db9a9fc2612
comparison
equal deleted inserted replaced
1486:f2fcb3ed51fa 1487:71202259002d
125 double dB = iec_fader_to_dB(percent); 125 double dB = iec_fader_to_dB(percent);
126 return dB; 126 return dB;
127 127
128 } else { // scale proportional to sqrt(fabs(dB)) 128 } else { // scale proportional to sqrt(fabs(dB))
129 129
130 int zeroLevel = int(maxLevel * faderTypes[type].zeroPoint); 130 int zeroLevel = int(round(maxLevel * faderTypes[type].zeroPoint));
131 131
132 if (level >= zeroLevel) { 132 if (level >= zeroLevel) {
133 133
134 double value = level - zeroLevel; 134 double value = level - zeroLevel;
135 double scale = (maxLevel - zeroLevel) / 135 double scale = (maxLevel - zeroLevel) /
170 if (faderLevel > maxLevel) faderLevel = maxLevel; 170 if (faderLevel > maxLevel) faderLevel = maxLevel;
171 return faderLevel; 171 return faderLevel;
172 172
173 } else { 173 } else {
174 174
175 int zeroLevel = int(maxLevel * faderTypes[type].zeroPoint); 175 int zeroLevel = int(round(maxLevel * faderTypes[type].zeroPoint));
176 176
177 if (dB >= 0.) { 177 if (dB >= 0.) {
178 178
179 if (faderTypes[type].maxDb <= 0.) { 179 if (faderTypes[type].maxDb <= 0.) {
180 180