Mercurial > hg > svcore
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 |